CN102844756A - 具有基于角色的访问控制的计算机关系数据库方法和系统 - Google Patents

具有基于角色的访问控制的计算机关系数据库方法和系统 Download PDF

Info

Publication number
CN102844756A
CN102844756A CN2011800141822A CN201180014182A CN102844756A CN 102844756 A CN102844756 A CN 102844756A CN 2011800141822 A CN2011800141822 A CN 2011800141822A CN 201180014182 A CN201180014182 A CN 201180014182A CN 102844756 A CN102844756 A CN 102844756A
Authority
CN
China
Prior art keywords
user
database
depots
data
model
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
CN2011800141822A
Other languages
English (en)
Other versions
CN102844756B (zh
Inventor
L·马勒
M·M·瓦塞尔
A·A·麦斯特罗
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.)
Weirui LLC
Original Assignee
DynamicOps Inc
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 DynamicOps Inc filed Critical DynamicOps Inc
Publication of CN102844756A publication Critical patent/CN102844756A/zh
Application granted granted Critical
Publication of CN102844756B publication Critical patent/CN102844756B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • 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/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • G06F16/212Schema design and management with details for data modelling support
    • 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/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24549Run-time optimisation
    • 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
    • G06F16/24564Applying rules; Deductive queries
    • G06F16/24565Triggers; Constraints
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种计算机方法、系统和装置,控制对多个数据库中的受保护数据的访问。贮存库耦合到数据库并且具有安全运行时子系统。贮存库截获多个数据库中的主题数据库(subject database)的用户查询。安全运行时子系统根据截获的查询确定用户和对应的用户角色。基于用户角色,安全运行时子系统自动修改用户查询以滤除标识的用户未被授权访问、但是作为用户查询的部分的安全数据。

Description

具有基于角色的访问控制的计算机关系数据库方法和系统
相关申请
本申请要求2010年3月15日提交的第61/313,951号美国临时申请的权益。
上述申请的全部教导通过引用而结合于此。
技术领域
本公开内容具体描述用来实施基于角色的访问控制系统以保护关系数据模型中或者一个或者多个数据库中存储的数据的算法和结构。
背景技术
一般在现有技术中,关系数据库系统仅在对象/操作级提供安全性。例如,有可能配置哪些用户可以读取或者修改表、视图或者存储过程。在更高级的数据库系统中,也有可能控制行级访问(使用视图以控制对数据的访问(使用由数据库系统提供的角色隶属函数)并且使用模型以存储数据标签到角色的关联(该关联可以用来过滤由视图呈现的数据))。那些机制带来以下问题:
(1)需要在数据库系统中配置访问数据库的用户或者组。
(2)数据库系统必须具有对安全存储库(即LDAP)的物理访问权以便分析用户组隶属关系和账户的状态(启用/禁用)。
(3)必须与数据库一起或者在连接到数据库时使用用户的标识。
(4)在多层系统上认证用户需要委托并非普遍可用的证书。
(5)在数据库服务器中认证每个用户防碍使用连接池并且因此降低性能。
(6)迫使数据库分析用户、组和角色隶属关系降低性能。
(7)对安全角色的改变需要修改数据库对象(即视图或者存储过程)。
发明内容
本发明解决现有技术的弊端。各实施例提供一种将对象和行级安全性从数据库系统去耦合的解决方案。也就是说,实施例在数据库表的行级和列级二者控制对数据库对象中的数据的访问。可以控制用户是否可以看见(访问)数据库表并且继而在行级以及列级(即表中的字段)控制用户可以看见(访问)来自表内部的什么数据。重申的是,出于用户访问和安全目的而有效限定表的子视图。
本发明的实施例的高级过程如下:
1.用户经由贮存库向目标关系模型提交查询。
2.贮存库截获查询并且标识用户。
3.可以提供用户名作为附加信息以便支持委托。
4.解析查询以便标识哪些数据库对象将由查询访问。
5.贮存库查找将在元模型(MetaModel)中访问的实体(对象)的安全信息并且分析授权存储库(即LDAP)中存储的任何组隶属关系。
6.贮存库允许或者不允许在甚至到达目标数据库之前访问对象/实体。
7.如果允许访问,则贮存库在查询被提交到关系模型(目标数据库)之前修改它,从而使得例如使用SQL where子句来滤除拒绝用户访问(即未授权或者无资格访问)的信息。SQL where子句在数据库表的行级过滤。
因此,水平(按照数据库表行)和竖直(按照数据库表列)限定用于访问的安全规则,并且修改的查询水平(按照数据库表行)和竖直(按照数据库表列)过滤数据请求。
存储安全配置信息作为如下数据,该数据使用丰富表达系统来限制(qualify)哪些数据可由某个角色/任务访问。这一信息也由贮存库本身保护并且因此使安全系统在运行时动态可调。
在一个实施例中,一种控制对数据库中的受保护数据的访问的方法和/或系统包括:
将贮存库操作地耦合到存储安全数据的一个或者多个数据库;
配置和运用贮存库以截获数据库中的一个数据库的用户查询;
贮存库可由处理器执行,并且处理器根据截获的查询自动确定生成用户查询的用户和向该用户分配的用户角色;
基于确定的用户角色,处理器自动修改用户查询以滤除用户无访问权(无资格或者未被允许访问)的安全数据;并且
将修改的查询应用于一个数据库以取回(如由用户角色授权的)合格数据。
各实施例解析截获的查询并且标识主题数据库中的将作为用户查询的部分而访问的对象。用户查询可以包括用户的指示。并且储存器还被配置成在数据库中的元模型中查找标识的对象的安全信息并且分析任何组隶属关系。
根据本发明的原理,各实施例在数据库的元模型中存储限制哪些数据对象可由某些用户角色访问的安全信息。贮存库还被配置成在元模型中查找标识的对象的安全信息并且确定滤除用户查询的哪些标识的对象。例如,贮存器被配置成在如元模型中限定和相关的相关表、子表、列、行和元素中遍历查找标识的对象的安全信息。各实施例还使用贮存库以保护安全信息。这使安全信息能够在运行时动态可调
在一些实施例中,自动确定和自动修改的步骤包括将对象和行级安全性从主题数据库去耦合。
数据库中的至少一个数据库在各实施例中是关系数据库。自动修改用户查询的步骤包括插入SQL where子句以滤除主题数据库中的某些安全数据对象(表行),这些安全数据对象是用户查询的部分。
优选地,数据库相互无关、相异并且非集中管理。
附图说明
从如附图中所示本发明的示例实施例的下文更具体描述中前述内容将是显而易见的,在附图中,相似标号贯穿不同视图指代相同部分。附图未必按比例,代之以强调图示本发明的实施例。
图1是本发明的一个实施例的框图。
图2是实施例中的关系数据模型和对应的元数据(即元模型)的示意图。
图3是实施例中的元模型的基于角色的安全信息的示意图。
图4是将本发明具体化的计算机网络的示意图。
图5是图4的网络中的计算机节点的框图。
具体实施方式
本发明示例实施例的描述如下。
图1的示图代表本发明一个实施例的部件。所示系统100将对象和行级安全性从数据库系统去耦合。实施例系统100一次对多个数据库19操作或者应用于多个数据库19。多个数据库中的数据库相互无关并且非集中管理。发明系统100的部件在一个实施例中包括:贮存库15,其存储数据库19的模型23或者其部分;web服务接口29,其向终端用户呈现模型23的表示;元模型数据13;以及安全系统部件17。
贮存库15包括:(1)多个模型23和(2)模型管理器。多个模型23包括定制模型以及系统标准模型。每个模型23由代表目标数据库19、业务逻辑、事件触发和函数、安全定义和分布配置的数据模型形成。可以创建、修改并且向模型管理器25/贮存库15中注入作为模型23的部分的这些元素中的每个元素。模型管理器25按模型23管理这些元素并且将这些元素分组成模型23。
对于给定模型23,它的数据模型限定实体、属性和关系(比如目标数据库19的表和子表以及表/子表的组织)。可以在每个逻辑级(表元、子表元、表部分或者全部、子表部分或者全部)限定安全配置。限定、修改或者更新模型23的部分、向模型管理器25/贮存库15中注入新模型23或者更新旧模型是系统100中的无需编码或者编译的简单配置任务并且可以在贮存库15的实例运行之时被执行。对于每个模型23,系统100在模型管理器25/贮存库15中限定模型的数据和业务逻辑并且在模型管理器25中指定模型的安全性、事件和分布配置。这使模型管理器25和贮存器15能够支配谁、何时和何处执行业务逻辑以及访问数据。
在一个实施例中,贮存器15的支配结构可以设定和控制如何为具体用户、组和组织提供和定制服务。申请人用服务指代虚拟机、桌面、物理服务器以及一般由专用或者公用云内的系统100管理的任何基础结构、平台或者软件。
贮存库15的支配结构控制与外部数据库/关系模型19的系统集成的定制解决方案的方面。具体而言,贮存库15的支配结构控制:
在贮存库15内部或者使用外部数据库或者系统创建、访问和修改现有的或者新数据;
限定在分布式可缩放环境中执行的定制业务逻辑;
配置指定何时执行业务逻辑的规则;以及
配置指定何处执行业务逻辑的规则。
可以用两种方式限定新数据模型(在23):
(i)连接到现有外部数据库19并且选择整个数据库19或者数据的子集。
(ii)从暂存器创建指定新实体、属性和关系的新数据。
继而,可以向模型管理器25和贮存器15中注入数据模型和对应的模型23,并且模型管理器25转而自动生成REST接口29(或者相似的web服务接口)。不同于暴露URI(标识因特网网上的资源的统一资源标识符)的全部内容的典型REST接口29,系统100自动生成的REST接口29使用可以容易地支持复杂条件的访问权限、规则和过滤器来向数据仅暴露所选部分。实现这一点而未写入具体或者专用代码。用户可以使用贮存库15的REST接口29和支配结构来读取、修改和删除来自外部系统19或者来自新模型23的数据。
特别令人感兴趣和有利的是,系统100提供对数据库系统19中的受保护数据的受控用户访问。系统100将对象和行级安全性从数据库系统19去耦合。具体而言,系统100在表行级和表列级二者控制对数据库对象中的数据的访问。系统100支持控制用户是否可以看见(访问)数据库表并且继而在行级以及在列级控制用户可以看见(访问)来自表内部的什么数据。这意味着系统100可以控制对表中的具体个别字段的数据访问并且有效限定表的子视图。在高级总览中,发明系统100关于受控访问的操作如下。
首先,用户经由贮存库15向目标关系模型19提交查询11。作为响应,贮存库15截获输入查询11并且标识提交用户。可以提供用户名作为查询11中的附加信息以便支持委托。
接着,贮存库15解析查询11并且标识哪些数据库对象或者实体将由查询11访问。贮存库15在元模型13中查找待访问的数据库实体的安全信息并且分析授权存储库(即LDAP)17中存储的任何组隶属关系。因而,贮存库15允许或者不允许在甚至到达数据库19之前(即在查询11到达关系模型19之前)访问数据库对象/实体。
如果允许任意级访问,则贮存库15在查询被提交到关系模型19之前修改它,从而使得例如使用SQL where子句来滤除拒绝用户访问(未授权)的数据对象。SQL where子句在数据库表的行级过滤。因而,修改的查询应用于关系模型19。
因此,水平(按照数据库表行)和竖直(按照数据库表列)限定访问规则,并且水平(按照数据库表行)和竖直(按照数据库表列)过滤经由REST调用回传的数据。
在元模型13中,存储安全配置信息作为如下数据,该数据限制哪个(哪些)数据库19的对象可以由某一用户角色/任务访问。这一信息也由贮存库15本身保护(在模型23中)从而使发明安全系统100在运行时动态可调。
关系模型19
在包括查询语言的存储系统中托管多个关系数据模型19,该查询语言能够处理具有条件语句支持的查询。这样的存储系统的示例是(但不限于)支持主关键字和外关键字、join语句和where子句的关系数据库。一般而言,多个关系模型/数据库19相互无关、相异而且非集中管理。
存储系统中的每个关系模型19包括标准机器可读格式的关系和实体。这一机器可读信息是元模型13并且包括用来存储数据(包括存储的数据的类型信息)的所有数据库实体和在所有实体之间的关系的完全描述。
在图2中图示了关系数据模型19和对应的XML元数据13(机器可读)的示例并且逐项列举如下:
Figure BPA00001610254400081
元模型13的数据提供模型23的数据模型。
基于角色的安全系统17
基于陈述角色的安全系统17由两个主要子系统形成:数据子系统和安全运行时子系统。
数据子系统是用来存储目标关系模型19的安全访问规则的关系模型。安全系统17使用分级结构以便最大化系统的可表达性并且因此最小化在代表目标模型19的访问控制规则与不同用户角色之间的复杂关系时的信息重复。水平(按照关系模型19的行)和竖直(按照关系模型19的列)限定访问规则,并且因此水平(关系模型19的行)和竖直(关系模型19的列)过滤经由REST调用回传的数据。
安全运行时子系统是用来确定应用于特定用户的访问控制规则并且过滤该用户不可访问的数据的算法集。安全运行时截获向目标关系模型19的存储系统的任何查询11,它继而修改查询,从而使得滤除未授权数据(即未授权可由用户访问的数据)。
在一个实施例中,使用图3中所示的关系模型来存储基于角色的安全信息17。在图3中,
模型(Model):代表待保护的目标关系模型19。
实体(Entity):代表目标模型19中的实体。
实体授权(EntityAuthorization):代表关联到实体的访问规则(例如,对实体的读取访问)。
实体过滤器(EntityFilter):是在目标实体的数据及其关系之上的条件语句集。例如,“雇员.地址.城市=伦敦(Employee.Addresses.City=London)”。
范围(Scope):是可以用来对目标模型19中的实体集分组的信息位。范围中的数据可以用来唯一标识属于该范围的实体。例如,范围可以是城市名(比如伦敦),继而可以唯一标识伦敦内的所有地址、居住在伦敦的雇员和所有伦敦电话号码作为范围的部分。
角色分配(RoleAssignment):代表用户在特定范围中的角色。
角色定义(RoleDefinition):代表系统内的角色(例如,用户、管理员、访问者)。
任务定义(TaskDefinition):代表关联到角色的任务集。
模型管理器25使用前述内容作为存储于贮存库15中的模型23的安全配置。继而,在处理用户查询11中,贮存库15如下文清楚解释的那样查看模型23的定义。也根据模型23的定义,模型管理器25生成用于在REST或者web服务接29中产生目标数据库19的相关表示的代码。
以下示例举例说明在一个实施例中由发明系统100处理的事件序列。
1.查询11以表达式树的形式由用户提交并且由(17的)安全运行时子系统截获。
“SELECT Employee.Name,Telephone.PhoneNumber FROM Employes,Telephones”
2.安全运行时子系统(在17)解析表达式树并且标识访问目标模型中的哪些实体作为查询11的部分。
雇员,电话(Employee,Telephone)
3.安全运行时子系统17构建列表,其中所有任务定义在发送查询11的用户的每个范围中。
Scope =London
Role Definition=User
Task Definition=List Employee Phones
Role Assignment=Abe,Role=User,Scope=London
EntityAuthorization=Employee(Read=true),Telephone(Read=true)
EntityFilter=Employee.Address.Country=[Seope]
下表中的结果用于用户Abe
Scope=London,Task=List Employee Phones
4.安全运行时子系统17访问查找表(元模型13中的文件),该查找表具有关联到该实体的所有访问规则和过滤器(实体授权、实体过滤器)。
Employee:Read,Employee.Country=[Scope]
5.安全运行时(在17)使用以下算法来构建表达式树以过滤未授权数据/未被允许可由用户访问的数据:
a.通过在步骤4中发现的每个表达式中完成以下替换来为在步骤3中生成的列表中的每个范围/任务对生成表达式:
i.[范围(Scope)]替换为范围名称
ii.[应用(Application)]替换为关联到范围的应用名称
iii.[用户名(UserName)]替换为用户的名称
iv.未修改字面值。
v.如果无表达式关联到EntityAuthorization,则生成常数“True”布尔表达式。
b.表达式总数等于步骤3中的行总数乘以从步骤4产生的表达式数目。
c.使用OR表达式将关联到相同EntityAuthorization的所有表达式级联成单个表达式。
d.使用AND表达式将从先前步骤产生的来自不同EntityAuthorization的所得单个表达式级联成单个表达式。
Employee.Country=London
6.安全运行时子系统(在17)向截获的查询11的条件部分追加在先前步骤中构建的表达式。如果查询11不支持条件部分,则将表达式赋值给影响(例如Create)的每个目标模型(数据库)实体。
“SELECT Employee.Name,Telephone.PhoneNumber FROM Employes,
Telephones WHERE Employee.Address.Country=London”
7.发送修改的查询11以用于处理并且随后向用户返回查询结果数据21。
因而,安全运行时系统17在涉及目标数据库19的模型23的不同数据级(表、子表、行、列、实体)应用由不同人按照分配的用户角色为用户限定的如存储于元模型13中的安全约束。安全运行时查看每个数据级并且应用如在修改查询11时相关的安全约束(安全数据子系统中的规则)。这使得水平(按照目标数据库19的表行)和竖直(按照目标数据库19的表列)过滤经由REST调用回传的数据。
以这一方式,发明系统100在数据库表的行级和列级二者控制对数据库对象中的数据的访问。有利地,可以在数据库表行级以及在列级并且因此按照表的字段控制用户/用户角色是否可以访问数据库表以及用户可以访问来自表内部的什么数据。这意味着出于用户访问和安全目的而限定表的子视图。
因而,发明系统100使用陈述方式来自动化低级代码生成。陈述业务过程、触发事件和对应的数据模型(目标数据库)以及用于数据的组织规则(动作和操作)的定义。根据这些陈述,系统1oo的运行时引擎动态编译和生成低级代码并且向系统100及其计算机网络中注入这样的代码。
因此,本发明系统100提供一种用于关系数据模型19的陈述分布式事件系统。另外,本发明呈现一种以资源和数据为中心的全局计算机网络(即因特网)规模的架构。本发明的陈述分布式事件系统能够跨计算机网络操作,并且允许适应、保存目标数据库的规范样式并且对这些样式无限制。申请人的发明的该陈述方式允许描述系统应当完成什么而不是系统应当如何完成它。现有技术未实现这样的优点。
图4图示了本发明可以实施于其中的计算机网络或者相似数字处理环境。
客户端计算机/设备50和服务器计算机60提供执行应用程序等的处理、存储和输入/输出设备。客户端计算机/设备50也可以通过通信网络70链接到其它计算设备(包括其它客户端设备/过程50和服务器计算机60)。通信网络70可以是当前使用相应协议(TCP/IP、蓝牙等)相互通信的远程接入网络、全球网络(例如,因特网)、世界范围的计算机汇集、局域网或者广域网和网关的部分。其它电子设备/计算机网络架构是适合的。
图5是图4的计算机系统中的计算机(例如,客户端处理器/设备50或者服务器计算机60)的内部架构的示图。每个计算机50、60包含系统总线79,其中总线是用于在计算机或者处理系统的部件之间的数据传送的硬件线路集。总线79实质上是连接计算机系统的不同元件(例如,处理器、盘储存器、存储器、输入/输出端口、网络端口等)的共享管道,该管道实现在元件之间的信息传送。用于将各种输入和输出设备(例如,键盘、鼠标、显示器、打印机、扬声器等)连接到计算机50、60的I/O设备接口82附接到系统总线79。网络接口86允许计算机连接到各种附接到网络(例如,图4的网络70)的其它设备。存储器90为用来实施本发明的一个实施例的计算机软件指令92和数据94(例如,上文详述的贮存库15、模型管理器25、安全运行时子系统17和支持代码)提供易失性存储。盘储存器95为用来实施本发明的一个实施例的计算机软件指令92和数据94提供非易失性存储。中央处理器单元84也附接到系统总线79并且提供计算机指令的执行。
在一个实施例中,处理器例程92和数据94是计算机程序产品(通常引用为92),该产品包括计算机可读介质(例如,可移除存储介质(比如一个或者多个DVD-ROM、CD-ROM、磁盘、磁带等)),该介质提供用于发明系统的软件指令的至少部分。如本领域中公知的那样,计算机程序产品92可以由任何适当软件安装过程安装。在另一实施例中,也可以通过线缆、通信和/或无线连接下载软件指令的至少部分。在其它实施例中,发明程序是在传播介质(例如,通过全球网络(比如因特网)或者其它网络传播的无线电波、红外波、激光波、声波或者电波)上的传播信号上具体化的计算机程序传播信号产品107。这样的载波介质或者信号提供用于本发明例程/程序92的软件指令的至少部分。
在备选实施例中,传播信号是在传播介质上输送的模拟载波或者数字信号。例如,传播信号可以是通过全球网络(例如因特网)、电信网络或者其它网络传播的数字化信号。在一个实施例中,传播信号是在时间段内通过传播介质传输的信号(比如在毫秒、秒、分钟或者更长的时段内通过网络在分组中发送的用于软件应用的指令)。在另一实施例中,如上文针对计算机程序传播信号产品描述的那样,计算机程序产品92的计算机可读介质是计算机系统50可以接收和读取的传播介质(比如通过接收传播介质并且标识在传播介质中具体化的传播信号)。
广而言之,术语“载波介质”或者瞬态载波涵盖前述瞬态信号、传播信号、传播介质、存储介质等。
尽管已经参照其示例实施例具体示出和描述了本发明,但是本领域技术人员将理解可以在其中做出形式和细节上的各种改变而不脱离所附权利要求涵盖的发明范围。

Claims (22)

1.一种控制对受保护数据的访问的方法,包括:
将贮存库操作地耦合到存储安全数据的一个或者多个数据库;
运用所述贮存库截获所述数据库中的一个数据库的用户查询;
根据截获的查询自动确定生成所述用户查询的用户和向所述用户分配的用户角色;
基于确定的用户角色自动修改所述用户查询,以滤除所述用户无访问权的安全数据;以及
将经修改的查询应用于所述一个数据库。
2.根据权利要求1所述的方法,还包括解析所述截获的查询并且标识所述一个数据库中的、将作为所述用户查询的部分而访问的对象。
3.根据权利要求2所述的方法,其中所述用户查询包括所述用户的指示;并且
所述贮存库还被配置成在所述一个数据库的元模型中查找标识的对象的安全信息并且分析任何组隶属关系。
4.根据权利要求2所述的方法,还包括在所述一个数据库的元模型中存储限制哪些数据对象可由某些用户角色访问的安全信息,并且
所述贮存库还被配置成在所述元模型中查找所标识的对象的安全信息并且确定滤除所述用户查询的哪些标识的对象。
5.根据权利要求4所述的方法,还包括:
使用所述贮存库以保护所述安全信息,并且使所述安全信息能够在运行时动态可调。
6.根据权利要求1所述的方法,其中自动确定和自动修改的步骤包括将对象和行级安全性从所述数据库去耦合。
7.根据权利要求1所述的方法,还包括处理对所述一个数据库的所述经修改的查询,并且向所述用户返回所述经修改的查询的结果。
8.根据权利要求1所述的方法,其中所述一个数据库是关系数据库。
9.根据权利要求8所述的方法,其中自动修改所述用户查询的步骤包括插入SQL Where子句以滤除作为所述用户查询的部分的、所述数据库中的某些安全数据/对象。
10.根据权利要求1所述的方法,其中所述一个或者多个数据库相互无关并且非集中管理。
11.一种控制对受保护数据的访问的计算机系统,包括:
贮存库,操作地耦合到存储安全数据的一个或者多个数据库,所述贮存库被配置成截获所述数据库中的一个数据库的用户查询;以及
所述贮存库的安全运行时子系统,(i)根据截获的查询自动确定生成所述用户查询的用户和向所述用户分配的用户角色,并且(ii)基于所确定的用户角色,自动修改所述用户查询以滤除所述用户无资格访问的安全数据,
所述贮存库将经修改的查询应用于所述一个数据库并且取回如由用户角色授权的合格数据。
12.根据权利要求11所述的计算机系统,其中所述安全运行时子系统解析所述截获的查询,并且标识所述一个数据库中的、将作为所述用户查询的部分而访问的实体。
13.根据权利要求12所述的计算机系统,其中所述用户查询包括所述用户的指示;并且
所述贮存库还被配置成在所述一个数据库的元模型中查找所标识的实体的安全信息,并且分析任何组隶属关系。
14.根据权利要求12所述的计算机系统,还包括:
所述一个数据库的元模型,所述元模型被配置成存储限制哪些数据实体可由某些用户角色访问的安全信息,并且
所述安全运行时子系统还被配置成在所述元模型中查找所标识的实体的安全信息并且确定滤除所述用户查询的哪些所标识的实体。
15.根据权利要求14所述的计算机系统,其中所述贮存库还保护所述安全信息,并且使所述安全信息能够在运行时动态可调。
16.根据权利要求11所述的计算机系统,其中所述安全运行时子系统被配置成将对象级安全性和行级安全性从所述一个数据库去耦合。
17.根据权利要求11所述的计算机系统,其中所述贮存库还向所述用户返回如应用于所述一个数据库的所述经修改的查询的结果。
18.根据权利要求11所述的计算机系统,其中所述一个数据库是关系数据库。
19.根据权利要求18所述的计算机系统,其中所述安全运行时子系统自动修改所述用户查询包括插入SQL Where子句以滤除所述用户无资格访问、但是作为所述用户查询的部分的所述安全数据。
20.根据权利要求11所述的计算机系统,其中所述一个或者多个数据库相互无关并且非集中管理。
21.一种计算机程序产品,包括:
计算机可读存储介质,其具有随之具体化的计算机可读程序,
所述计算机可读程序包括用于以下操作的程序代码:
(a)将贮存库操作地耦合到存储安全数据的多个数据库;
(b)运用所述贮存库以截获所述数据库中的一个数据库的用户查询;
(c)根据截获的查询自动确定生成所述用户查询的用户和向所述用户分配的用户角色;
(d)基于确定的用户角色自动修改所述用户查询,以滤除所述用户无访问权的安全数据;以及
(e)将经修改的查询应用于所述一个数据库。
22.根据权利要求21所述的计算机程序产品,其中所述一个数据库是关系数据库。
CN201180014182.2A 2010-03-15 2011-03-11 具有基于角色的访问控制的计算机关系数据库方法和系统 Active CN102844756B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US31395110P 2010-03-15 2010-03-15
US61/313,951 2010-03-15
PCT/US2011/028138 WO2011115839A2 (en) 2010-03-15 2011-03-11 Computer relational database method and system having role based access control

Publications (2)

Publication Number Publication Date
CN102844756A true CN102844756A (zh) 2012-12-26
CN102844756B CN102844756B (zh) 2019-02-15

Family

ID=44649778

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180014182.2A Active CN102844756B (zh) 2010-03-15 2011-03-11 具有基于角色的访问控制的计算机关系数据库方法和系统

Country Status (4)

Country Link
US (5) US9195707B2 (zh)
EP (2) EP2548138B1 (zh)
CN (1) CN102844756B (zh)
WO (2) WO2011115839A2 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104077284A (zh) * 2013-03-26 2014-10-01 中国移动通信集团湖北有限公司 一种数据安全访问方法及系统
CN106295388A (zh) * 2015-06-04 2017-01-04 中国移动通信集团山东有限公司 一种数据脱敏方法和装置
CN106548085A (zh) * 2015-09-17 2017-03-29 中国移动通信集团甘肃有限公司 一种数据的处理方法及装置
CN107392053A (zh) * 2017-08-11 2017-11-24 四川长虹电器股份有限公司 一种企业员工信息数据库中的数据权限控制方法
CN108509807A (zh) * 2018-04-13 2018-09-07 南京新贝金服科技有限公司 一种基于角色的列表数据权限控制系统和方法
CN108885735A (zh) * 2016-03-28 2018-11-23 开利公司 冷链配送数据优先级确定
CN112000992A (zh) * 2020-10-29 2020-11-27 腾讯科技(深圳)有限公司 数据防泄漏保护方法、装置、计算机可读介质及电子设备

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9195707B2 (en) 2010-03-15 2015-11-24 Vmware, Inc. Distributed event system for relational models
US20120278334A1 (en) * 2011-04-29 2012-11-01 John Abjanic Database System
US9449178B2 (en) * 2012-07-24 2016-09-20 ID Insight System, method and computer product for fast and secure data searching
US10754625B2 (en) * 2017-06-16 2020-08-25 Mongodb, Inc. Systems and methods for managing a database back end as a service
US20140278807A1 (en) * 2013-03-15 2014-09-18 Cloudamize, Inc. Cloud service optimization for cost, performance and configuration
US20160267293A1 (en) * 2013-10-29 2016-09-15 Hewlett Packard Enterprise Development Lp Validating a Query Execution
EP2902926A1 (en) * 2014-01-31 2015-08-05 Hewlett-Packard Development Company, L.P. Filtering data from a database
CN104318180A (zh) * 2014-11-18 2015-01-28 上海斐讯数据通信技术有限公司 基于智能终端的系统安全权限处理状态机模型
US9792454B2 (en) * 2015-01-16 2017-10-17 Protegrity Corporation Record level data security
US20160306503A1 (en) * 2015-04-16 2016-10-20 Vmware, Inc. Workflow Guidance Widget with State-Indicating Buttons
US9760734B2 (en) * 2015-06-26 2017-09-12 Sap Se Catalog-based user authorization to access to multiple applications
US10205730B2 (en) 2015-09-29 2019-02-12 International Business Machines Corporation Access control for database
US10380334B2 (en) * 2015-11-06 2019-08-13 Sap Se Data access rules in a database layer
US10305918B1 (en) * 2016-01-27 2019-05-28 Vmware Inc. Monitoring for hybrid applications
KR101905771B1 (ko) * 2016-01-29 2018-10-11 주식회사 엔오디비즈웨어 시스템 환경 및 사용자 행동 분석 기반의 자기 방어 보안 서버와 이의 작동 방법
CN108475288B (zh) 2016-02-19 2022-03-29 华为技术有限公司 一种联合数据库统一访问控制的系统、方法和设备
US10417441B2 (en) * 2016-04-29 2019-09-17 International Business Machines Corporation Effectively validating dynamic database queries through database activity monitoring
CN107025411B (zh) * 2017-03-22 2019-11-26 红有软件股份有限公司 一种细粒度的数据权限动态控制的系统及方法
US10713246B2 (en) * 2017-06-22 2020-07-14 Sap Se Column based data access controls
US11790099B1 (en) * 2018-02-09 2023-10-17 Microsoft Technology Licensing, Llc Policy enforcement for dataset access in distributed computing environment
US11244063B2 (en) * 2018-06-11 2022-02-08 Palantir Technologies Inc. Row-level and column-level policy service
US11048815B2 (en) * 2018-08-06 2021-06-29 Snowflake Inc. Secure data sharing in a multi-tenant database system
CN111262821A (zh) * 2018-12-01 2020-06-09 星际空间(天津)科技发展有限公司 一种基于微服务的认证鉴权方法
US11361040B2 (en) * 2019-01-11 2022-06-14 Johnson Controls Tyco IP Holdings LLP Systems and methods for providing persona-adjusted data
US11106674B2 (en) * 2019-03-31 2021-08-31 International Business Machines Corporation Extensible data skipping
CN110222032A (zh) * 2019-05-22 2019-09-10 武汉掌游科技有限公司 一种基于软件数据分析的通用事件模型
EP3959635A1 (en) * 2019-05-29 2022-03-02 Sigma Computing, Inc. Row-level worksheet security
CN111368001B (zh) * 2020-03-04 2023-06-02 徐皓 一种区块链方法、系统及计算机可读存储介质
JP2021189569A (ja) * 2020-05-26 2021-12-13 富士通株式会社 データ更新プログラム、データ更新装置及びデータ更新方法
US11397826B2 (en) * 2020-10-29 2022-07-26 Snowflake Inc. Row-level security
US20240078333A1 (en) * 2022-06-24 2024-03-07 Nextlabs, Inc. Dynamically Inserting Guard Conditions into a Database Query to Protect Privacy and Confidentiality and Prevent Data Leak

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030014394A1 (en) * 2001-03-22 2003-01-16 Shinji Fujiwara Cell-level data access control using user-defined functions
US20060248592A1 (en) * 2005-04-28 2006-11-02 International Business Machines Corporation System and method for limiting disclosure in hippocratic databases
US20080189758A1 (en) * 2007-02-01 2008-08-07 International Business Machines Corporation Providing Security for Queries to Electronic Product Code Information Services
US20080284598A1 (en) * 2007-05-17 2008-11-20 Oracle International Corporation RFID Data Integrity and Event Compensation

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5566337A (en) * 1994-05-13 1996-10-15 Apple Computer, Inc. Method and apparatus for distributing events in an operating system
EP0823092A1 (en) 1995-04-24 1998-02-11 Aspect Development, Inc. Modeling of object-oriented database structures, translation to relational database structures, and dynamic searches thereon
US6085191A (en) 1997-10-31 2000-07-04 Sun Microsystems, Inc. System and method for providing database access control in a secure distributed network
US7281003B2 (en) 1998-10-05 2007-10-09 Oracle International Corporation Database fine-grained access control
US6820082B1 (en) * 2000-04-03 2004-11-16 Allegis Corporation Rule based database security system and method
FR2813682B1 (fr) 2000-09-07 2003-01-17 France Telecom Procede de recherche de programmes ou de contenus audiovisuels sur un flux audiovisuel comportant des tables d'evenements distribue par une base de donnees
US7155720B2 (en) * 2001-10-26 2006-12-26 Hewlett-Packard Development Company, L.P. Dynamic task assignment in workflows
US6985904B1 (en) * 2002-02-28 2006-01-10 Oracle International Corporation Systems and methods for sharing of execution plans for similar database statements
US7096217B2 (en) 2002-10-31 2006-08-22 International Business Machines Corporation Global query correlation attributes
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
US7418448B2 (en) * 2003-03-12 2008-08-26 Microsoft Corporation Organization structure system
US7054877B2 (en) 2003-03-31 2006-05-30 International Business Machines Corporation Dealing with composite data through data model entities
US7158969B2 (en) 2003-06-12 2007-01-02 International Business Machines Corporation Iterative data analysis process via query result augmentation and result data feedback
US20050222996A1 (en) * 2004-03-30 2005-10-06 Oracle International Corporation Managing event-condition-action rules in a database system
US20070180490A1 (en) 2004-05-20 2007-08-02 Renzi Silvio J System and method for policy management
US7599924B2 (en) 2004-06-25 2009-10-06 International Business Machines Corporation Relationship management in a data abstraction model
US7228307B2 (en) 2004-07-29 2007-06-05 International Business Machines Corporation Security model using security domains in a security model applied to abstract database
US20060141985A1 (en) * 2004-12-23 2006-06-29 Motorola, Inc. Dynamic management for interface access permissions
US7186626B2 (en) * 2005-07-22 2007-03-06 The Regents Of The University Of California Method for controlling dislocation positions in silicon germanium buffer layers
US9679031B2 (en) 2005-09-14 2017-06-13 International Business Machines Corporation Composing abstract queries for delegated user roles
US8635660B2 (en) * 2005-12-06 2014-01-21 Oracle International Corporation Dynamic constraints for query operations
US8332430B2 (en) * 2006-03-01 2012-12-11 Oracle International Corporation Secure search performance improvement
EP1857930A3 (en) 2006-05-17 2008-07-23 Ipreo Holdings LLC System, method, and apparatus to allow for a design, administration, and presentation of computer software applications
US20080010239A1 (en) 2006-07-10 2008-01-10 Sap Ag Systems and methods of managing product tracking data
US7685194B2 (en) * 2006-08-31 2010-03-23 Microsoft Corporation Fine-grained access control in a database by preventing information leakage and removing redundancy
US7739219B2 (en) 2006-09-08 2010-06-15 Oracle International Corporation Techniques of optimizing queries using NULL expression analysis
EP1973053A1 (en) 2007-03-19 2008-09-24 British Telecommunications Public Limited Company Multiple user access to data triples
US9037493B2 (en) * 2007-05-17 2015-05-19 Oracle International Corporation Security using EPCIS data and a virtual private database
US7970892B2 (en) 2007-06-29 2011-06-28 Microsoft Corporation Tuning and optimizing distributed systems with declarative models
US7984043B1 (en) 2007-07-24 2011-07-19 Amazon Technologies, Inc. System and method for distributed query processing using configuration-independent query plans
US8230386B2 (en) 2007-08-23 2012-07-24 Microsoft Corporation Monitoring distributed applications
US7809751B2 (en) 2007-08-27 2010-10-05 Sap Ag Authorization controlled searching
NO20075351A (no) * 2007-10-18 2009-02-09 Fast Search & Transfer Asa Fremgangsmåte for å begrense aksess til søkeresultater og søkemotor som støtter fremgangsmåten
US8566909B2 (en) * 2008-02-01 2013-10-22 Oracle International Corporation Row-level security with expression data type
US8285748B2 (en) * 2008-05-28 2012-10-09 Oracle International Corporation Proactive information security management
US20100128638A1 (en) 2008-11-20 2010-05-27 Sap Ag Hierarchical shortest path first network routing protocol
US9195707B2 (en) 2010-03-15 2015-11-24 Vmware, Inc. Distributed event system for relational models

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030014394A1 (en) * 2001-03-22 2003-01-16 Shinji Fujiwara Cell-level data access control using user-defined functions
US20060248592A1 (en) * 2005-04-28 2006-11-02 International Business Machines Corporation System and method for limiting disclosure in hippocratic databases
US20080189758A1 (en) * 2007-02-01 2008-08-07 International Business Machines Corporation Providing Security for Queries to Electronic Product Code Information Services
US20080284598A1 (en) * 2007-05-17 2008-11-20 Oracle International Corporation RFID Data Integrity and Event Compensation

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104077284A (zh) * 2013-03-26 2014-10-01 中国移动通信集团湖北有限公司 一种数据安全访问方法及系统
CN106295388A (zh) * 2015-06-04 2017-01-04 中国移动通信集团山东有限公司 一种数据脱敏方法和装置
CN106295388B (zh) * 2015-06-04 2019-09-10 中国移动通信集团山东有限公司 一种数据脱敏方法和装置
CN106548085A (zh) * 2015-09-17 2017-03-29 中国移动通信集团甘肃有限公司 一种数据的处理方法及装置
CN108885735A (zh) * 2016-03-28 2018-11-23 开利公司 冷链配送数据优先级确定
CN107392053A (zh) * 2017-08-11 2017-11-24 四川长虹电器股份有限公司 一种企业员工信息数据库中的数据权限控制方法
CN108509807A (zh) * 2018-04-13 2018-09-07 南京新贝金服科技有限公司 一种基于角色的列表数据权限控制系统和方法
CN112000992A (zh) * 2020-10-29 2020-11-27 腾讯科技(深圳)有限公司 数据防泄漏保护方法、装置、计算机可读介质及电子设备
CN112000992B (zh) * 2020-10-29 2021-03-16 腾讯科技(深圳)有限公司 数据防泄漏保护方法、装置、计算机可读介质及电子设备

Also Published As

Publication number Publication date
EP2548137A2 (en) 2013-01-23
US9384361B2 (en) 2016-07-05
EP2548137A4 (en) 2016-10-19
EP2548137B1 (en) 2018-08-15
US20130144852A1 (en) 2013-06-06
US10430430B2 (en) 2019-10-01
EP2548138B1 (en) 2018-09-12
US20110302180A1 (en) 2011-12-08
EP2548138A4 (en) 2013-10-30
WO2011115833A2 (en) 2011-09-22
WO2011115839A3 (en) 2011-12-22
US20110302200A1 (en) 2011-12-08
US20150317486A1 (en) 2015-11-05
CN102844756B (zh) 2019-02-15
US20130138666A1 (en) 2013-05-30
US9058353B2 (en) 2015-06-16
US9852206B2 (en) 2017-12-26
US9195707B2 (en) 2015-11-24
WO2011115833A3 (en) 2011-12-15
WO2011115839A2 (en) 2011-09-22
EP2548138A2 (en) 2013-01-23

Similar Documents

Publication Publication Date Title
CN102844756A (zh) 具有基于角色的访问控制的计算机关系数据库方法和系统
KR102514325B1 (ko) 모델 훈련 시스템 및 방법과, 저장 매체
CA3025493C (en) Optimizing read and write operations in object schema-based application programming interfaces (apis)
CN102236701B (zh) 关于多个域的依赖图
CN110188573B (zh) 分区授权方法、装置、设备及计算机可读存储介质
CN109284631A (zh) 一种基于大数据的文档脱敏系统及方法
CN112434059B (zh) 数据处理方法、装置、计算机设备和存储介质
US20090276477A1 (en) Method of partitioning a database
CN103338208A (zh) 一种sql注入防御的方法和系统
WO2020214304A1 (en) Constraint querying for collaborative intelligence and constraint computing
CN105989426A (zh) 一种面向标准信息服务业的客户关系管理系统
CN107798037A (zh) 用户特征数据的获取方法及服务器
WO2015134088A1 (en) System and methods for location based management of cloud platform data
CN111143391A (zh) 一种数据共享交换方法及系统
EP4200775A1 (en) Analytics platform for federated private data
CN114780971A (zh) 一种权限管理方法、认证方法及装置
US11436349B2 (en) Method and system for implementing a cloud machine learning environment
JP2017097840A (ja) データ製品構築システム
CN115017185A (zh) 一种数据处理方法、装置及存储介质
CN115705435A (zh) 云服务的数据处理的方法、装置、设备及介质
WO2023200534A1 (en) Rule-based data governance and privacy engine
Tao Ontology-based active repository system
Ekman Handling Big Data using a Distributed Search Engine: Preparing Log Data for On-Demand Analysis
Singh et al. A secure multi-tenant model for SaaS system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20160226

Address after: California, USA

Applicant after: VMWARE, Inc.

Address before: Massachusetts, USA

Applicant before: DYNAMICOPS, Inc.

GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: California, USA

Patentee after: Weirui LLC

Country or region after: U.S.A.

Address before: California, USA

Patentee before: VMWARE, Inc.

Country or region before: U.S.A.