A security system for a computer system provides one or more security domains. access to assets registered to the security system is controlled by rights and privileges. Rights are derived from roles, and each user is assigned one or more roles. privileges are attached to assets, and an appropriate combination of rights and privileges is required before a user is granted the specified type of access to the asset.

Patent
   7013485
Priority
Mar 06 2000
Filed
Mar 05 2001
Issued
Mar 14 2006
Expiry
Jun 13 2023
Extension
830 days
Assg.orig
Entity
Large
79
5
EXPIRED

REINSTATED
1. A security system for a computer system, comprising:
a plurality of assets within the computer system;
a plurality of members registered to use the computer system;
a plurality of groups, each group comprising at least two of the plurality of members;
a plurality of roles defining user rights to access one or more of the plurality of assets, each member and each group associated with at least one role;
a plurality of access control lists each corresponding to an asset and defining at least one privilege for accessing the asset corresponding to the privilege, according to a member's role; and
at least one domain being an administrative and access control boundary around a plurality of security entities, the security entities of the at least one domain comprising:
a subset of the plurality of assets and the access control lists corresponding to the assets in the subset of the assets;
a subset of the plurality of roles; and
a subset of the members;
each privilege defined in the access control lists of the at least one domain identifying one or more roles in the domain that may access the asset corresponding to the privilege;
the security system operable to authorize a particular member to perform a requested operation with respect to a requested asset within the domain when the particular member is associated with a role, in the domain, corresponding to a privilege for the requested asset.
17. A method for providing secure access to a plurality of assets within a computer system, comprising:
registering a plurality of members to use the computer system;
establishing a plurality of groups, each group comprising at least two of the plurality of members;
providing a plurality of roles defining user rights to access one or more of the plurality of assets, each member and each group associated with at least one role;
providing a plurality of access control lists each corresponding to an asset and defining at least one privilege for accessing the asset corresponding to the privilege, according to a member's role;
providing at least one domain defining an administrative and access control boundary around a plurality of security entities, the security entities of the at least one domain comprising:
a subset of the plurality of assets and the access control lists corresponding to the assets in the subset of the assets;
a subset of the plurality of roles; and
a subset of the members;
each privilege defined in the access control lists of the at least one domain identifying one or more roles in the domain that may access the asset corresponding to the privilege;
when a particular member attempts to access a requested asset within the at least one domain, determining at least one role assigned to the particular member;
comparing rights corresponding to the role assigned to the particular member to the privileges defined in the access control list corresponding to the particular asset; and
if the attempted access is authorized for the role assigned to the particular member, allowing the particular member to access the requested asset.
32. Software for providing secure access to a plurality of assets within a computer system, the software embodied in computer-readable media and when executed using one or more computer systems operable to:
register a plurality of members to use the computer system;
establishing a plurality of groups, each group comprising at least two of the plurality of members;
provide a plurality of roles defining user rights to access one or more of the plurality of assets, each member and each group associated with at least one role;
provide a plurality of access control lists each corresponding to an asset and defining at least one privilege for accessing the asset corresponding to the privilege, according to a member's role;
provide at least one domain defining an administrative and access control boundary around a plurality of security entities, the security entities of the at least one domain comprising:
a subset of the plurality of assets and the access control lists corresponding to the assets in the subset of the assets;
a subset of the plurality of roles; and
a subset of the members;
each privilege defined in the access control lists of the at least one domain identifying one or more roles in the domain that may access the asset corresponding to the privilege;
when a particular member attempts to access a requested asset within the at least one domain, determine at least one role assigned to the particular member;
compare rights corresponding to the role assigned to the particular member to the privileges defined in the access control list corresponding to the particular asset; and
if the attempted access is authorized for the role assigned to the particular member, allow the particular member to access the requested asset.
2. The system of claim 1, wherein:
the privileges for each asset include operations that can be performed on that asset; and
the security system is operable to authorize access to the requested asset when a requested access by the particular member includes an operation to be performed from the access control list and the particular member is associated with a role, in the domain, corresponding to a privilege for the requested asset.
3. The system of claim 1, wherein the at least one privilege includes one or more of:
a read privilege;
a modify privilege; and
a delete privilege.
4. The system of claim 1, wherein the system includes at least two domains.
5. The system of claim 4, wherein the plurality of roles comprise one or more of:
a domain role defining user rights within a single domain; and
a universal role defining user rights across a plurality of domains.
6. The system of claim 4, wherein a first domain and a second domain are joined by a unidirectional trust relationship, allowing privileges associated with the first domain's assets to be delegated to the second domain.
7. The system of claim 4, wherein a first domain and a second domain are joined by a bidirectional trust relationship, allowing:
privileges associated with the first domain's assets to be delegated to the second domain; and
privileges associated with the second domain's assets to be delegated to the first domain.
8. The system of claim 4, wherein a first domain owns a second domain such that the first domain can create and destroy the second domain.
9. The system of claim 1, wherein the plurality of roles are assigned to a plurality of user groups, each user group comprising one or more of the plurality of members.
10. The system of claim 1, wherein each of the plurality of access control lists comprises a plurality of access control entries, each comprising:
a domain identifier;
a role identifier; and
one or more privileges.
11. The system of claim 1, wherein:
the system comprises at least two domains; and
the system is further operable to grant the particular member, which is assigned a particular domain/role combination, ownership of a particular operation on a particular access control list, ownership over of the particular access control list allowing the particular member to grant rights to perform the operation to one or more members in a different domain than the particular member that are assigned the same role as the particular member.
12. The system of claim 1, wherein:
one or more of the plurality of assets each comprise a registered asset, a registered asset being a resource that is protected by the security system; and
each registered asset is classified according to a corresponding asset type, which determines how its corresponding registered assets are identified and what operations may be performed on its corresponding registered assets.
13. The system of claim 1, wherein the security system is operable to authorize access to the requested asset by:
receiving from the particular member a request to access the requested asset, the request comprising:
an identification of the requested asset;
an identification of an operation to perform with respect to the requested asset; and
an identification of the domain and role assigned to the particular member;
determining, based at least in part on the access control list corresponding to the requested asset and the domain and role assigned to the particular member, whether the particular member may perform the identified operation with respect to the requested asset; and
initiating an appropriate action based on the authorization determination.
14. The system of claim 1, wherein the security system is operable to:
receive from the particular member a request comprising:
one or more query criteria specifying one or more assets; and
an identification of the domain and role assigned to the particular member;
add appropriate security-related criteria to the request;
execute a query to determine one or more assets satisfying the query criteria to
which the particular member has read access; and
initiate an appropriate action based on results of the executed query.
15. The system of claim 1, further operable to:
receive a request to define a new asset type, the request comprising one or more of a name of the new asset type, a description of the new asset type; and a format of the new asset type;
enable determination of one or more operations that should apply to the new asset type; and
enable association of the determined one or more operations with the new asset type.
16. The system of claim 1, further operable to, prior to the particular member attempting to access the requested asset:
authenticate the particular member's identification; and
assign at least one role to the particular member.
18. The method of claim 17, wherein a requested access is one from the types read, modify, or delete.
19. The method of claim 17, further comprising, prior to the particular member attempting to access the requested asset:
authenticating the particular member's identification; and
assigning at least one role to the particular member.
20. The method of claim 17, further comprising providing at least two domains.
21. The method of claim 20, wherein the plurality of roles comprise one or more of:
a domain role defining user rights within a single domain; and
a universal role defining user rights across a plurality of domains.
22. The method of claim 20, wherein a first domain and a second domain are joined by a unidirectional trust relationship, allowing privileges associated with the first domain's assets to be delegated to the second domain.
23. The method of claim 20, wherein a first domain and a second domain are joined by a bidirectional trust relationship, allowing:
privileges associated with the first domain's assets to be delegated to the second domain; and
privileges associated with the second domain's assets to be delegated to the first domain.
24. The method of claim 20, wherein a first domain owns a second domain such that the first domain can create and destroy the second domain.
25. The method of claim 17, wherein the plurality of roles are assigned to a plurality of user groups, each user group comprising one or more of the plurality of members.
26. The method of claim 17, wherein each of the plurality of access control lists comprises a plurality of access control entries, each comprising:
a domain identifier;
a role identifier; and
one or more privileges.
27. The method of claim 17, further comprising:
providing at least two domains; and
granting the particular member, which is assigned a particular domain/role combination, ownership of a particular operation on a particular access control list, ownership over of the particular access control list allowing the particular member to grant rights to perform the operation to one or more members in a different domain than the particular member that are assigned the same role as the particular member.
28. The method of claim 17, wherein:
one or more of the plurality of assets each comprise a registered asset, a registered asset being a resource for which secure access is provided; and
each registered asset is classified according to a corresponding asset type, which determines how its corresponding registered assets are identified and what operations may be performed on its corresponding registered assets.
29. The method of claim 17, further comprising authorizing access to the requested asset by:
receiving from the particular member a request to access the requested asset, the request comprising:
an identification of the requested asset;
an identification of an operation to perform with respect to the requested asset; and
an identification of the domain and role assigned to the particular member;
determining, based at least in part on the access control list corresponding to the requested asset and the domain and role assigned to the particular member, whether the particular member may perform the identified operation with respect to the requested asset; and
initiating an appropriate action based on the authorization determination.
30. The method of claim 17, further comprising:
receiving from the particular member a request comprising:
one or more query criteria specifying one or more assets; and
an identification of the domain and role assigned to the particular member;
adding appropriate security-related criteria to the request;
executing a query to determine one or more assets satisfying the query criteria to which the particular member has read access; and
initiating an appropriate action based on results of the executed query.
31. The method of claim 17, further comprising:
receiving a request to define a new asset type, the request comprising one or more of a name of the new asset type, a description of the new asset type; and a format of the new asset type;
enabling determination of one or more operations that should apply to the new asset type; and
enabling association of the determined one or more operations with the new asset type.
33. The software of claim 32, wherein a requested access is one from the types read, modify, or delete.
34. The software of claim 32, further operable to, prior to the particular member attempting to access the requested asset:
authenticate the particular member's identification; and
assign at least one role to the particular member.
35. The software of claim 32, operable to provide at least two domains.
36. The software of claim 35, wherein the plurality of roles comprise one or more of:
a domain role defining user rights within a single domain; and
a universal role defining user rights across a plurality of domains.
37. The software of claim 35, wherein a first domain and a second domain are joined by a unidirectional trust relationship, allowing privileges associated with the first domain's assets to be delegated to the second domain.
38. The software of claim 35, wherein a first domain and a second domain are joined by a bidirectional trust relationship, allowing:
privileges associated with the first domain's assets to be delegated to the second domain; and
privileges associated with the second domain's assets to be delegated to the first domain.
39. The software of claim 35, wherein a first domain owns a second domain such that the first domain can create and destroy the second domain.
40. The software of claim 32, wherein the plurality of roles are assigned to a plurality of user groups, each user group comprising one or more of the plurality of members.
41. The software of claim 32, wherein each of the plurality of access control lists comprises a plurality of access control entries, each comprising:
a domain identifier;
a role identifier; and
one or more privileges.
42. The software of claim 32, further operable to:
provide at least two domains; and
grant the particular member, which is assigned a particular domain/role combination, ownership of a particular operation on a particular access control list, ownership over of the particular access control list allowing the particular member to grant rights to perform the operation to one or more members in a different domain than the particular member that are assigned the same role as the particular member.
43. The software of claim 32, wherein:
one or more of the plurality of assets each comprise a registered asset, a registered asset being a resource for which secure access is provided; and
each registered asset is classified according to a corresponding asset type, which determines how its corresponding registered assets are identified and what operations may be performed on its corresponding registered assets.
44. The software of claim 32, further operable to authorize access to the requested asset by:
receiving from the particular member a request to access the requested asset, the request comprising:
an identification of the requested asset;
an identification of an operation to perform with respect to the requested asset; and
an identification of the domain and role assigned to the particular member;
determining, based at least in part on the access control list corresponding to the requested asset and the domain and role assigned to the particular member, whether the particular member may perform the identified operation with respect to the requested asset; and
initiating an appropriate action based on the authorization determination.
45. The software of claim 32, further operable to:
receive from the particular member a request comprising:
one or more query criteria specifying one or more assets; and
an identification of the domain and role assigned to the particular member;
add appropriate security-related criteria to the request;
execute a query to determine one or more assets satisfying the query criteria to which the particular member has read access; and
initiate an appropriate action based on results of the executed query.
46. The software of claim 32, further operable to:
receive a request to define a new asset type, the request comprising one or more of a name of the new asset type, a description of the new asset type; and a format of the new asset type;
enable determination of one or more operations that should apply to the new asset type; and
enable association of the determined one or more operations with the new asset type.

The present application claims the benefit of U.S. Provisional application No. 60/187,375, filed on Mar. 6, 2000.

1. Field of the Invention

The present invention relates generally to computer systems, and more specifically to security systems and methods for controlling and authorizing access to computer systems.

2. Description of the Prior Art

Security is an important consideration for computer systems that grant access to multiple users. This is especially true when access can be obtained from outside a physically restricted area, such as systems generally available over the internet. As systems become more complex, and access to data needs to be more widely distributed, security systems tend to become more complex.

Such issues arise in the context of different businesses sharing data and processes over distributed computer systems. It becomes important that security can be administered from more than one location, by more than one administrator. Further, due to different companies doing business in different ways, security systems intended for use by different business must be flexible, and able to accommodate different security implementations.

Present security systems are often cumbersome, and do not have the desired flexibility. It would be desirable to provide a computer security system that was flexible, extendable, and allowed multiple administrators to operate concurrently to provide needed security. It would be desirable that such a system allows administrators to define additional types of security, and supply security for additional types of objects, than are originally provided for.

In accordance with the present invention, a security system for a computer system provides one or more security domains. Access to assets registered to the security system is controlled by rights and privileges. Rights are derived from roles, and each user is assigned one or more roles. Privileges are attached to assets, and an appropriate combination of rights and privileges is required before a user is granted the specified type of access to the asset.

The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself however, as well as a preferred mode of use, further objects and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:

FIG. 1 is a block diagram of a system for providing security to a computer system;

FIG. 2 is a diagram illustrating the structure of a computer security system in accordance with the present invention;

FIGS. 3 and 4 are diagrams illustrating domain relationships in accordance with a preferred embodiment;

FIG. 5 is a diagram illustrating preferred steps in granting access and authorization to a user;

FIG. 6 is a diagram illustrating the use of roles within a preferred security system;

FIG. 7 is a diagram showing the relationships between rights and privileges in a preferred embodiment;

FIGS. 8 and 9 illustrate preferred use of access control lists in accordance with the preferred embodiment;

FIG. 10 is a diagram showing the use of bi-directional transfer of privileges; and

FIGS. 11 and 12 are block diagrams illustrating preferred user authorization methods.

It will be understood by those skilled in the art that the following description can easily be implemented on numerous different underlying systems. The described system describes a particular set of techniques and methods for granting users access to various files, executables, and other system assets available on the system being protected. The described security system and method does not necessarily provide complete system security, but can be supplemented by other products widely available in order to provide complete security. As will be appreciated by those of ordinary skill, the description below indicates where and how it is to be implemented on any desired system.

FIG. 1 is a block diagram of a security system implemented in accordance with a preferred embodiment of the invention. FIG. 1 shows the architecture of the preferred system, with particular focus on the security service. A first host machine 10 includes a web server application 12 and a servlet engine 14. Application logic 16 that resides in the servlet engine 14 makes in-process calls to the security API where applicable. The security service communicates with a database 18, which can be an Oracle database, via JDBC link 20.

A second host machine 22 contains the application 24 functionality to which access is desired. The application 24 in turn relies on the security service 26 for access control information. In one embodiment, the BO Server 24 is a C++ engine, and communicates with Security 26 using a CORBA server called the ‘DNA Bridge 28. The DNA Bridge 28 is responsible for sending raw permissibility data to the BO Server 24, which then handles the actual enforcement.

The described security model is centered on the concept of a domain 29, shown in FIG. 2. A domain is an administrative and access control boundary around a collection of security entities. These entities consist of:

Domains are used to provide a security “sandbox” for members. The “sandbox” controls what members may do to which assets during a given session with the system. The system has many domains, some or all of which may be in use at any given time. A domain can be mapped to any entity external to Security, but many applications have only found the need to map a domain to a business/company.

Most entities reside within a single domain for the duration of a session, but there exist some special entities that have visibility across multiple domains. One of these, the universal security administrator 40 (also called the “super user”), is a special member who is allowed to administer the entire security model, including all of the entities within any domain. Another special entity is the role. Security uses roles to implement declarative and programmatic security. There are two kinds of roles in the system:

Universal roles 42 represent user responsibilities that are commonly accepted and understood by several collaborating domains. They exist so that the workflow of a shared application is consistent for—and understandable by—all of its users. Domain roles 34 have meaning only within the domain in which they are defined.

The domain to which a user authenticates himself at the beginning of a session dictates the roles that he may utilize. The following example illustrates:

If jsmith logs into the Acme Computers domain, his active role set consists of:

If jsmith logs into the Beta Bank domain, his active role set consists of:

The member jsmith does not have the Assembler role when he logs into the Acme Computers domain because he has not been granted that role.

Two domains may be joined by a trust relationship. A trust relationship determines how privileges may be delegated from one domain to another. Trust may be unidirectional or bi-directional, as shown in FIG. 3. For example, Domain ABC 50 has a unidirectional trust relationship with Domain DEF 54 (ABC trusts DEF), which implies that privileges on ABC's assets may be delegated from ABC to DEF. ABC 50 has a bi-directional trust relationship with XYZ 52, which implies that privileges on ABC's assets may flow to XYZ, and vice-versa.

A domain may also own another domain, i.e. be responsible for its creation and destruction. As shown in FIG. 4, a parent-child topology is used to represent domain ownership and a peer-to-peer topology is used when there is a lack of ownership between domains.

The trust and ownership concepts may be combined. For example, a group of domains may be connected together in a parent-child topology, where each connection is also a unidirectional trust. This implies that privileges may be delegated from the top-most domain down to the lower-level domains. It also implies that each domain has created the domain(s) beneath it.

The model described in the previous paragraph can be illustated by an example. Assume a customer uses this model for its catalogs and categories. The customer creates subsidiary domains and then gives each subsidiary access to a subset of its catalogs and categories. The subsidiaries in turn create distributor domains and then give the distributors access to a further subset of the catalogs and categories. Support for additional domain relationship and topologies will be added as the need arises.

The “security principals” that are associated with a user—consisting of domains and roles—determine what the user has access to. As shown in FIG. 5, security principals are acquired after a user is authenticated. Authentication establishes the user's identity, which can then be used to obtain relevant information about the user's involvement in the business domain (such as what company he is employed with and what portal he has logged into). These “business principals” are subsequently used to derive the security principals that should be in effect for the member. The system uses these security principals to make authorization decisions.

As indicated in FIG. 6, roles 62 may be granted directly to a member 63, or they may be granted 64 to a group 66. Any member who is assigned to the group will in turn receive the privileges enjoyed by the group roles 64. The relationship between members and roles is determined dynamically at login time. A member 63 may be assigned to multiple roles, but only a subset of them may be usable within a given domain. For example, the member 63 in FIG. 6 has been granted Role 1 62 and Role 2 64, but Domain A 68 only allows him to use Role 1 62, whereas Domain B 70 allows him to use both Roles 1 and 2. Whether or not a role is usable in a domain depends on the type of role (i.e. universal role or domain role).

As shown in FIG. 7, the roles that a member has been granted ultimately determine what assets 74 the member can access. Access control decisions are made by combining rights with privileges:

A single privilege identifies what operation may be performed by what role on which asset. The mechansim for attaching privileges to assets 74 is the access control list (ACL) 80. An ACL 80 contains a series of access control entries (ACEs) 82, each of which contains a domain identifier 84, a role identifier 86, and one or more privileges 88, as shown in FIG. 8. The domain identifier 84 and role identifier 86 are the security principals that may be associated with one or more members. An ACE 82 contains both because a privilege for a role must be scoped by the domain (e.g. an Admin may be able to perform some operation in one domain, but may be prevented from doing so in a different domain).

A privilege allows the domain/role combination to perform an operation on the asset. As shown in FIG. 9, the basic operations consist of read and write. Other operations may be available, but these are dependent upon the type of asset being administered.

In addition to privileges, a domain/role may be granted ownership over a particular operation on the ACL. An owner of an ACL is allowed to modify it within certain limits:

For example, in FIG. 9, a member who is in Domain ABC and has Role Foo owns the write operation on the ACL. This member effectively becomes an administrator of the ACL and is therefore allowed to grant the write operation to Role Foo in Domain DEF. He is also allowed to grant Domain DEF/Role Foo ownership of the write operation.

ACL ownership and administration are the mechanisms by which privileges are transferred between domains. In a unidirectional transfer of privileges, the capabilities of a role tend to diminish the further you move away from the “home” domain (i.e. where the asset is created). This is because an administrator may never pass on more privileges than he himself has. At most, the role capabilities would remain constant across all of the domains, but in practice this would not be likely.

In a bi-directional transfer of privileges, as shown in FIG. 10, the capabilities of a role would vary across domains according to the asset in question.

A registered asset is a resource that the security system is responsible for protecting. Registered assets are classified according to their asset type, which determines how assets should be identified and what operations may be performed on them. One possible list of basic asset types includes price group, price template, catalog, category, product group, and URL. This list would be of use in deploying an ordering system, or similar enterprise. New asset types may be defined at deployment time, as described below.

An asset type defines both meta-level and instance-level operations. Meta-level operations are those that are performed without an instance, for example the create operation can be invoked for a Price Template, but it does not apply to an instance because the instance does not yet exist. Instance-level operations, such as read, write, and delete, are those that are performed on an explicit instance, such as deleting a Price Template, which requires a specific instance to delete.

Individual assets are identified via a name known as a moniker. Monikers are alphanumeric strings that conform to a predetermined format as defined by the asset type. Monikers may be hierarchical in nature, and they may be defined in terms of regular expressions. For example, an asset of type URL may have the following as a moniker:

The preferred system supports two modes of authorization: decision-based and entitlement-based. The main difference between the two modes is the information that is returned by the security system. In decision-based mode, illustrated in FIG. 11, a simple yes/no answer is returned to the client. Decision-based authorization is defined by the following sequence:

In entitlement-based mode, illistrated in FIG. 12, a collection of objects 99 is returned to the client. Entitlement-based authorization is defined by the following sequence:

The objects that are returned conform to the initiator's application-specific criteria as well as some security-specific criteria. The query results contain only the objects that the intiator has read access to, which may be a subset of those requested.

A preferred embodiment allows implementers to define new asset types. The steps for defining a new asset type are as follows:

The above description sets forth the mechanism and steps of the preferred security system. Although the terms used are relatively self-explanatory, the following list will assist those skilled in the art in understanding the description:

The described system allows for easy group administration of the overall security system. Because of transfer of privileges, various levels of administration can be passed down the line. For example, a single super user can designate other administrators having various degrees of administrative authority, so that various administrative functions can be distributed among numerous administrators. Each administrator can delegate all or a portion of her administrative rights as desired.

Also, because bi-directional transfer of privileges is allowed, same-level administrators at different companies can cooperate to effectively administer a combined system. This allows administrators to grant privileges for those domains, or portions of a domain, that they are responsible for or familiar with. In this manner, it is not necessary that a single super user is tasked with all final security responsibility.

Because a customer can define additional resource types, and additional types of security to be applied to them, the system is more flexible than most available security systems. When combined with the ability for separate domains to be treated together, with individual security within a domain, a truly generic and flexible security system is provided.

While the invention has been particularly shown and described with reference to a preferred embodiment, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention.

Brown, Daniel, Zapata, Fernando

Patent Priority Assignee Title
10033700, Dec 12 2001 Intellectual Ventures I LLC Dynamic evaluation of access rights
10229279, Dec 12 2001 Intellectual Ventures I LLC Methods and systems for providing access control to secured data
10360545, Dec 12 2001 Intellectual Ventures I LLC Method and apparatus for accessing secured electronic data off-line
10769288, Dec 12 2001 INTELLECTUAL PROPERTY VENTURES I LLC Methods and systems for providing access control to secured data
11582244, Mar 23 2017 International Business Machines Corporation Access control of administrative operations within an application
7350226, Dec 13 2001 Oracle International Corporation System and method for analyzing security policies in a distributed computer network
7367014, Oct 24 2001 Oracle International Corporation System and method for XML data representation of portlets
7370365, Sep 05 2001 Meta Platforms, Inc Dynamic control of authorization to access internet services
7380120, Dec 12 2001 Intellectual Ventures I LLC Secured data format for access control
7433896, Feb 20 2003 Oracle International Corporation Federated management of content repositories
7478418, Dec 12 2001 Intellectual Ventures I LLC Guaranteed delivery of changes to security policies in a distributed system
7483893, Sep 26 2005 Oracle International Corporation System and method for lightweight loading for managing content
7512810, Sep 11 2002 Kioba Processing, LLC Method and system for protecting encrypted files transmitted over a network
7555558, Aug 15 2003 LONGHORN AUTOMOTIVE GROUP LLC Method and system for fault-tolerant transfer of files across a network
7562232, Dec 12 2001 Intellectual Ventures I LLC System and method for providing manageability to security information for secured items
7565683, Dec 12 2001 Intellectual Ventures I LLC Method and system for implementing changes to security policies in a distributed security system
7577838, Dec 20 2002 Kioba Processing, LLC Hybrid systems for securing digital assets
7594224, Oct 10 2003 Oracle International Corporation Distributed enterprise security system
7603547, Oct 10 2003 Oracle International Corporation Security control module
7631184, May 14 2002 Intellectual Ventures I LLC System and method for imposing security on copies of secured items
7681034, Dec 12 2001 Intellectual Ventures I LLC Method and apparatus for securing electronic data
7703140, Sep 30 2003 Intellectual Ventures I LLC Method and system for securing digital assets using process-driven security policies
7707427, Jul 19 2004 Intellectual Ventures I LLC Multi-level file digests
7729995, Dec 12 2001 Intellectual Ventures I LLC Managing secured files in designated locations
7730543, Jun 30 2003 Intellectual Ventures I LLC Method and system for enabling users of a group shared across multiple file security systems to access secured files
7752205, Sep 26 2005 Oracle International Corporation Method and system for interacting with a virtual content repository
7783765, Dec 12 2001 Intellectual Ventures I LLC System and method for providing distributed access control to secured documents
7797754, Sep 05 2001 Meta Platforms, Inc Dynamic control of authorization to access internet services
7818344, Sep 26 2005 Oracle International Corporation System and method for providing nested types for content management
7836310, Nov 01 2002 Intellectual Ventures I LLC Security system that uses indirect password-based encryption
7890990, Dec 20 2002 Intellectual Ventures I LLC Security system with staging capabilities
7912932, Mar 24 2003 Oracle America, Inc Service request common object
7913311, Dec 12 2001 Intellectual Ventures I LLC Methods and systems for providing access control to electronic data
7917537, Sep 26 2005 Oracle International Corporation System and method for providing link property types for content management
7921284, Dec 12 2001 Intellectual Ventures I LLC Method and system for protecting electronic data in enterprise environment
7921288, Dec 12 2001 Intellectual Ventures I LLC System and method for providing different levels of key security for controlling access to secured items
7921450, Dec 12 2001 Intellectual Ventures I LLC Security system using indirect key generation from access rules and methods therefor
7930756, Dec 12 2001 Intellectual Ventures I LLC Multi-level cryptographic transformations for securing digital assets
7950066, Dec 21 2001 Intellectual Ventures I LLC Method and system for restricting use of a clipboard application
7953734, Sep 26 2005 Oracle International Corporation System and method for providing SPI extensions for content management system
8006280, Dec 12 2001 Intellectual Ventures I LLC Security system for generating keys from access rules in a decentralized manner and methods therefor
8024794, Nov 30 2005 AMDOCS DEVELOPMENT LIMITED; Amdocs Software Systems Limited Dynamic role based authorization system and method
8065713, Dec 12 2001 Intellectual Ventures I LLC System and method for providing multi-location access management to secured items
8099779, Feb 20 2003 Oracle International Corporation Federated management of content repositories
8127366, Sep 30 2003 Intellectual Ventures I LLC Method and apparatus for transitioning between states of security policies used to secure electronic documents
8176334, Sep 30 2002 Intellectual Ventures I LLC Document security system that permits external users to gain access to secured files
8200539, Mar 24 2003 Siebel Systems, Inc. Product common object
8261331, Jan 17 2006 International Business Machines Corporation Security management for an integrated console for applications associated with multiple user registries
8266674, Dec 12 2001 Intellectual Ventures I LLC Method and system for implementing changes to security policies in a distributed security system
8301896, Jul 19 2004 Intellectual Ventures I LLC Multi-level file digests
8307067, Sep 11 2002 Kioba Processing, LLC Protecting encrypted files transmitted over a network
8316025, Sep 26 2005 Oracle International Corporation System and method for providing SPI extensions for content management system
8327138, Sep 30 2003 Intellectual Ventures I LLC Method and system for securing digital assets using process-driven security policies
8341406, Dec 12 2001 Intellectual Ventures I LLC System and method for providing different levels of key security for controlling access to secured items
8341407, Dec 12 2001 Intellectual Ventures I LLC Method and system for protecting electronic data in enterprise environment
8392298, Mar 04 2003 Oracle America, Inc Invoice adjustment data object for a common data object format
8463852, Oct 06 2006 Oracle International Corporation Groupware portlets for integrating a portal with groupware systems
8473399, Mar 04 2003 Oracle America, Inc Invoice data object for a common data object format
8489470, Mar 24 2003 Oracle America, Inc Inventory location common object
8510179, Mar 24 2003 Oracle America, Inc Inventory transaction common object
8538840, Dec 20 2002 Oracle America, Inc Financial services data model
8543827, Dec 12 2001 Intellectual Ventures I LLC Methods and systems for providing access control to secured data
8549170, Dec 19 2003 Nvidia Corporation Retransmission system and method for a transport offload engine
8613102, Mar 30 2004 Citrix Systems, Inc Method and system for providing document retention using cryptography
8645423, May 02 2008 Oracle International Corporation Method of partitioning a database
8650616, Dec 18 2007 Oracle International Corporation User definable policy for graduated authentication based on the partial orderings of principals
8707034, May 30 2003 Intellectual Ventures I LLC Method and system for using remote headers to secure electronic files
8739302, Sep 30 2003 Intellectual Ventures I LLC Method and apparatus for transitioning between states of security policies used to secure electronic documents
8745387, Jan 17 2006 International Business Machines Corporation Security management for an integrated console for applications associated with multiple user registries
8918839, Dec 12 2001 Intellectual Ventures I LLC System and method for providing multi-location access management to secured items
8943316, Sep 30 2002 Intellectual Ventures I LLC Document security system that permits external users to gain access to secured files
9129120, Dec 12 2001 Intellectual Ventures I LLC Methods and systems for providing access control to secured data
9286484, Mar 30 2004 Citrix Systems, Inc Method and system for providing document retention using cryptography
9489407, May 02 2008 Oracle International Corporation Systems, methods, and machine-readable memories for partitioning a database
9542560, Dec 12 2001 Intellectual Ventures I LLC Methods and systems for providing access control to secured data
9704120, Mar 24 2003 Oracle America, Inc Inventory balance common object
RE41546, Dec 12 2001 Intellectual Ventures I LLC Method and system for managing security tiers
RE43906, Dec 12 2001 Intellectual Ventures I LLC Method and apparatus for securing digital assets
RE47443, Sep 30 2002 Intellectual Ventures I LLC Document security system that permits external users to gain access to secured files
Patent Priority Assignee Title
5315657, Sep 28 1990 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Compound principals in access control lists
5677851, Dec 15 1994 EMC Corporaton Method and apparatus to secure digital directory object changes
5748890, Dec 23 1996 Qwest Communications International Inc Method and system for authenticating and auditing access by a user to non-natively secured applications
5889952, Aug 14 1996 Microsoft Technology Licensing, LLC Access check system utilizing cached access permissions
5956715, Dec 13 1994 Microsoft Technology Licensing, LLC Method and system for controlling user access to a resource in a networked computing environment
/////////////////////////////
Executed onAssignorAssigneeConveyanceFrameReelDoc
Mar 05 2001i2 Technologies U.S., Inc.(assignment on the face of the patent)
May 02 2001BROWN, DANIELI2 TECHNOLOGIES, INCASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0118100841 pdf
May 03 2001ZAPATA, FERNANDOI2 TECHNOLOGIES, INCASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0118100841 pdf
Jul 01 2001I2 TECHNOLOGIES, INCi2 Technologies US, INCASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0120330637 pdf
Feb 05 2010i2 Technologies US, INCJDA TECHNOLOGIES US, INC ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0264680119 pdf
Feb 05 2010i2 Technologies US, INCJDA TECHNOLOGIES US, INC CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF THE CONVEYING AND RECEIVING PARTIES TO INCLUDE A PERIOD AFTER THE TERM INC PREVIOUSLY RECORDED ON REEL 026468 FRAME 0199 ASSIGNOR S HEREBY CONFIRMS THE CHANGE OF NAME FROM I2 TECHNOLOGIES US, INC TO JDA TECHNOLOGIES US, INC 0551360623 pdf
Feb 05 2010i2 Technologies US, INCJDA TECHNOLOGIES US, INC CORRECTIVE ASSIGNMENT TO CORRECT THE REEL 026468 FRAME NUMBER FROM 0199 TO 0119 PREVIOUSLY RECORDED ON REEL 055136 FRAME 0623 ASSIGNOR S HEREBY CONFIRMS THE CORRECTION ASSIGNMENT 0568130110 pdf
Mar 18 2011JDA TECHNOLOGIES US, INC WELLS FARGO CAPITAL FINANCE, LLC, AS AGENTPATENT SECURITY AGREEMENT0260720353 pdf
May 24 2011JDA TECHNOLOGIES US, INC JDA SOFTWARE GROUP, INC ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0267400676 pdf
May 24 2011JDA TECHNOLOGIES US, INC JDA SOFTWARE GROUP, INC CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF THE CONVEYING AND RECEIVING PARTIES TO INCLUDE A PERIOD AFTER THE TERM INC PREVIOUSLY RECORDED AT REEL: 026740 FRAME: 0676 ASSIGNOR S HEREBY CONFIRMS THE ASSIGNMENT 0552570747 pdf
Dec 21 2012Wells Fargo Capital Finance, LLCJDA TECHNOLOGIES US, INC RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL0295290812 pdf
Dec 21 2012JDA SOFTWARE GROUP, INC Credit Suisse AG, Cayman Islands BranchFIRST LIEN PATENT SECURITY AGREEMENT0295560697 pdf
Oct 12 2016Credit Suisse AG, Cayman Islands BranchJDA SOFTWARE GROUP, INC RELEASE OF SECURITY INTEREST IN PATENTS AT REEL FRAME NO 29556 08090403370356 pdf
Oct 12 2016Credit Suisse AG, Cayman Islands BranchJDA SOFTWARE GROUP, INC RELEASE OF SECURITY INTEREST IN PATENTS AT REEL FRAME NO 29556 06970403370053 pdf
Oct 12 2016JDA SOFTWARE GROUP, INC JPMORGAN CHASE BANK, N A , AS COLLATERAL AGENTSECURITY AGREEMENT0403260449 pdf
Oct 12 2016RP CROWN HOLDING LLCJPMORGAN CHASE BANK, N A , AS COLLATERAL AGENTSECURITY AGREEMENT0403260449 pdf
Oct 12 2016RP CROWN PARENT, LLCJPMORGAN CHASE BANK, N A , AS COLLATERAL AGENTSECURITY AGREEMENT0403260449 pdf
Sep 16 2021JPMORGAN CHASE BANK, N A BLUE YONDER, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0577240593 pdf
Sep 16 2021JPMORGAN CHASE BANK, N A BLUE YONDER GROUP, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0577240593 pdf
Sep 16 2021JPMORGAN CHASE BANK, N A JDA SOFTWARE SERVICES, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0577240593 pdf
Sep 16 2021JPMORGAN CHASE BANK, N A I2 TECHNOLOGIES INTERNATIONAL SERVICES, LLCRELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0577240593 pdf
Sep 16 2021JPMORGAN CHASE BANK, N A MANUGISTICS SERVICES, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0577240593 pdf
Sep 16 2021JPMORGAN CHASE BANK, N A MANUGISTICS HOLDINGS DELAWARE II, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0577240593 pdf
Sep 16 2021JPMORGAN CHASE BANK, N A JDA SOFTWARE RUSSIA HOLDINGS, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0577240593 pdf
Sep 16 2021JPMORGAN CHASE BANK, N A REDPRAIRIE COLLABORATIVE FLOWCASTING GROUP, LLCRELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0577240593 pdf
Sep 16 2021JPMORGAN CHASE BANK, N A BY NETHERLANDS HOLDING, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0577240593 pdf
Sep 16 2021JPMORGAN CHASE BANK, N A BY BOND FINANCE, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0577240593 pdf
Sep 16 2021JPMORGAN CHASE BANK, N A REDPRAIRIE SERVICES CORPORATIONRELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0577240593 pdf
Sep 16 2021JPMORGAN CHASE BANK, N A BY BENELUX HOLDING, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0577240593 pdf
Date Maintenance Fee Events
Aug 19 2009M1551: Payment of Maintenance Fee, 4th Year, Large Entity.
Oct 25 2013REM: Maintenance Fee Reminder Mailed.
Apr 01 2014M1552: Payment of Maintenance Fee, 8th Year, Large Entity.
Apr 01 2014M1558: Surcharge, Petition to Accept Pymt After Exp, Unintentional.
Apr 01 2014PMFG: Petition Related to Maintenance Fees Granted.
Apr 01 2014PMFP: Petition Related to Maintenance Fees Filed.
Oct 23 2017REM: Maintenance Fee Reminder Mailed.
Apr 09 2018EXP: Patent Expired for Failure to Pay Maintenance Fees.


Date Maintenance Schedule
Mar 14 20094 years fee payment window open
Sep 14 20096 months grace period start (w surcharge)
Mar 14 2010patent expiry (for year 4)
Mar 14 20122 years to revive unintentionally abandoned end. (for year 4)
Mar 14 20138 years fee payment window open
Sep 14 20136 months grace period start (w surcharge)
Mar 14 2014patent expiry (for year 8)
Mar 14 20162 years to revive unintentionally abandoned end. (for year 8)
Mar 14 201712 years fee payment window open
Sep 14 20176 months grace period start (w surcharge)
Mar 14 2018patent expiry (for year 12)
Mar 14 20202 years to revive unintentionally abandoned end. (for year 12)