DETAILED ACTION
Notice of AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
The present office action is responsive to communications received on 9/29/2023. Claims 1-21 are pending.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim 1-3, 7-10, 14-17 and 21 are rejected under 35 U.S.C. 103 as being unpatentable over King (US 20100050252 A1) and GeeksforGeeks (“Classes and Objects in Java”, NPL from 2017).
Regarding claim 1, King teaches a method comprising:
receiving a user statement requesting a grant of a privilege on a user-defined object; ([0022] A security manager receives a request for a role including privileges that should be granted to the role (400). A role is a set of privileges for an abstract entity, and are created by naming the entity and assigning it privileges.)
creating, by a processing device, a scoped privilege that provides a grant of a base privilege identified from the user statement and limits application of the grant of the base privilege to the user-defined object; ([0022] For example, a financial manager may want the privileges to approve and delete invoices. To have these privileges, the financial manager needs access to the target (e.g., a resource such as a file, web page, or page element) that contains the capability to perform these actions. These privileges should be assigned to the “Financial Manager” role.)
providing scoping object information associated with the user-defined object to an authorization engine, ([0022] Access to these securable elements is controlled by the RBAC system. Once the security manager is finished selecting the targets for the requested role (i.e., the menu pages, tasks, and individual securable page elements), the security manager creates a role with a list of privileges that grant access to those targets (440).)
King teaches grant of a privilege on a user-defined object, but does not explicitly teach wherein the scoping information includes a set of properties identifying the user-defined object. This aspect of the claim is identified as a difference.
However, GeeksforGeeks in an analogous art explicitly teaches
wherein the scoping information includes a set of properties identifying the user-defined object. ([p. 1] A class is a blueprint used to create objects that share common properties and behavior. An object is an instance of a class. It represents a specific entity created from the class template. A class is a user-defined data type that groups related data and behavior together. It can contain fields, methods, constructors, nested classes, and interfaces.)
It would have been prima facie obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the “grant of a privilege” concept of King, and the “classes and objects” approach of GeeksforGeeks. One of ordinary skill in the art would have been motivated to perform such a modification to help model and organize real-world entities in a structured way (GeeksforGeeks [p. 1]).
Regarding claim 2, King in view of GeeksforGeeks teaches all the features with respect to claim 1, as outlined above. The combination further teaches
identifying, from the user statement, the base privilege and a name of the user-defined object; and ([King 0022] A security manager receives a request for a role including privileges that should be granted to the role (400). A role is a set of privileges for an abstract entity, and are created by naming the entity and assigning it privileges. For example, a financial manager may want the privileges to approve and delete invoices.)
generating an in-memory representation of the base privilege that is applicable only to an object instance having the name of the user-defined object. ([GeeksforGeeks p. 2] This code defines a Student class as a blueprint with data members and a constructor to initialize them. An object s1 is created in main(), which allocates memory and accesses the class fields to display values.)
Regarding claim 3, King in view of GeeksforGeeks teaches all the features with respect to claim 2, as outlined above. The combination further teaches identifying the base privilege based on a prefix of the privilege specified in the user statement. ([King 0022] A security manager receives a request for a role including privileges that should be granted to the role (400). A role is a set of privileges for an abstract entity, and are created by naming the entity and assigning it privileges. For example, a financial manager may want the privileges to approve and delete invoices.)
Regarding claim 7, King in view of GeeksforGeeks teaches all the features with respect to claim 1, as outlined above. The combination further teaches wherein the user-defined object is a class. ([GeeksforGeeks p. 1] A class is a user-defined data type that groups related data and behavior together. It can contain fields, methods, constructors, nested classes, and interfaces.)
Regarding claim 8-10, 14-17 and 21, the scope of the claim is similar to that of claim 1-3 and 7, respectively. Accordingly, the claim is rejected using a similar rationale.
Allowable Subject Matter
Claim 4, 11 and 18 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
“Classes (OOP)”, https://brilliant.org/wiki/classes-oop/, NPL from 2016
Jain (US12223082B2) teaches “Secure roles for data sharing”
Jain (US12105828B2) teaches “Grant inheritance in RBAC”
Jain (US12124602B2) teaches “Implementing inherited grants using secure schemas”
Any inquiry concerning this communication or earlier communications from the examiner should be directed to HAN YANG whose telephone number is (408)918-7638. The examiner can normally be reached on Monday to Friday, 9:00-5:00.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Carl Colin can be reached on (571)272-3862. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/HAN YANG/Primary Examiner, Art Unit 2493