Notice of Pre-AIA or 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 .
Response to Amendment
The amendment filed on 07/30/2025 has been entered.
The 101 Abstract rejection has been withdrawn.
The 103 rejection has been withdrawn.
Response to Arguments
Applicant’s arguments, filed 07/30/2025, with respect to the rejections of claims 1-20 under 101 and 103 have been fully considered and are persuasive. Therefore, the rejection has been withdrawn. However, upon further consideration, new ground of rejection for an Obvious Double Patenting rejection below.
Claim Objections
Claims 1, 11, and 16 objected to because of the following informalities: containing a slash option (“deny/allow”) which is not allowed in claims. Appropriate correction is required.
Instant Application US. Patent No. 11/886,431
1. (Currently amended) A content management system comprising; one or more processors configured for: receiving, via connection with a client that includes an application and a browser, a request to access at least one of a plurality of content items managed by the content management system, responsive to receiving a first query; and obtaining, via a repository coupled to the one or more processors, a first access control list associated with the first query, the first access control list comprising an ordered list of access control entries, each access control entry associating an authority to a permission and a deny / allow flag, and an ACL reference to a hierarchy level;an insight engine, coupled to the one or more processors, that processesnot storing data in a physical storage and pointing to metadata stored in a data storage medium, and determinesbased on other field values, the first field being a virtual field that does not exist in a search index; a search engine that receives the execution plan from the insight engine, searches the search index according to the execution plan;and returns a result set referencing at least some of the plurality of content items; and wherein the insight engine further constrains result set based on a content index for the plurality of content items maintained in [[a]] the repository of the content management system by limiting a first permissions- filtered results set based on the first access control listand generates a second permissions-filtered results set after limiting the first permissions-filtered results set by the constraining of the result set.
1. (Currently Amended) A computer-implemented method comprising: receiving a query and an access control list associated with a user submitting the query for processing to a search engine, the access control list being assigned to the query for user authentication during query analysis by an insight engine, the query including a request to access content managed by a content management system; generating an execution plan for the search engine to process the querstored in a database that is not assessable to a the user submitting the query; calculating the virtual field value based on one or more field values in the virtual database schema; using the execution plan to search a search index and return a result set of documents, in response to receiving the query, wherein the virtual field does not exist in the search index; constraining results returned from the query using a content index of a plurality of content items maintained in a repository of the content management system, the constraining comprising limiting a content item of the plurality of content items from being added to a permissions-filtered results set based on the access control list assigned to the querexecution plan, the permissions-filtered results set; and returning the aggregated permissions-filtered results set to the content management system.
2. (Currently amended) The system as in claim 1, wherein the insight engine further evaluates the first query against the content index concurrent with evaluating a user permissions index against a user identity, and combines results of these two evaluations to produce the result set without post-query processing of permissions evaluated by the content management system, wherein the user permissions index is searched to determine permissions granted to a user or the client submitting the first query.
2. (Original) The method as in claim 1, further comprising: evaluating user permissions based on a user identity of the user, the evaluating comprising searching a user permissions index for permissions granted to the user based on the user identity.
3. (Currently amended) The system as in claim 2, wherein the permissions are granted based on verifying user identity.
3. (Original) The method as in claim 2, wherein the user permissions index comprises an access control list index maintained by the content management system.
4. (Original) The system as in claim 2, wherein the user permissions index comprises an access control list index maintained by the content management system.
4. (Original) The method as in claim 3, wherein the evaluating of the user permissions comprises searching an access control list index for access control lists designating the user identity as having a sufficient level of access to content items assigned to the access control lists.
5. (Currently amended) The system as in claim 4, wherein the access control list index provides information about a plurality of user identities having a sufficient level of access to one or more content items referenced by the access control list index.
5. (Original) The method as in claim 1, wherein the query comprises a string of characters entered by the user into a user interface.
6. (Original) The system as in claim 1, wherein the first query comprises a first string of characters entered into a user interface.
6. (Original) The method as in claim 5, wherein the returning the aggregated permissions-filtered results set comprises providing the aggregated permissions- filtered results set to the user interface.
7. (Original) The system as in claim 6, wherein the second permissions-filtered results set is rendered on the user interface, responsive to the first string of characters.
7. (Currently Amended) The method as in claim 1, wherein to specify time series queries that aggregate over datetime fields.
8. (Original) The system as in claim 1, wherein the first field is associated with operational data including at least one of a creation timestamp, a deletion timestamp, a lock timestamp, and time series data.
8. (Original) The method of claim 7, wherein the virtual field comprises time series data.
9. (Currently amended) The system of claim 8, wherein user- implemented complex SQL functions that specify time series queries are eliminated from use in the system
9. (Original) The method of claim 7, wherein the virtual field specifies a machine learning operation.
10. (Currently amended) The system of claim 8, wherein the first field specifies a machine learning operation.
10. (Currently Amended) A system comprising: at least one data processor; and at least one memory storing instructions which, when executed by the at least one data processor, result in operations comprising: receiving a query and an access control list associated with a user submitting the query for processing to a search engine, the access control list being assigned to the query for user authentication during query analysis by an insight engine, the query including arequest to access content managed by a content management system;generating an execution plan for the search engine to process the query based on a virtual field included in a virtual database schema to specify different behaviors in generating the execution plan, the virtual field pointing to metadata stored in a database that is not assessable to the user submitting the query; calculating the virtual field value based on one or more field values in the virtual database schema; using the execution plan to search a search index and return a result set of documents, in response to receiving the query, wherein the virtual field does not exist in the search index; constraining results returned from the query using a content index of a plurality of content items maintained in a repository of the content management system, the constraining comprising limiting a content item of the plurality of content items from being added to a permissions-filtered results set based on the access control list assigned to the query; aggregating based on the execution plan, the permissions-filtered results set; and returning the aggregated permissions-filtered results set to the content management system.
11. (Currently amended) A method of a content management system comprising: responsive to receiving, from a client comprising an application and a browse, a first query, including a request to access at least one of a plurality of content items, obtaining, via a repository coupled to a processor, a first access control list associated with the first query, the first access control list comprising an ordered list of access control entries, each access control entry associating an authority to a permission and a deny / allow flag, and an ACL reference to a hierarchy level; processing, via an insight engine coupled to the processor, the first query based on at least a first field included in a database schema according to an execution plan, the first field not storing data in a physical storage and pointing to metadata stored in a data storage medium; determining, via the insight engine, a first value associated with the first field based on other field values, the first field being a virtual field that does not exist in a search index; receiving, at a search engine, the execution plan from the insight engine; searching, via the search engine, the search index according to the execution plan; returning, via the search engine, a result set referencing at least some of the plurality of content items; constraining, via the search engine, the result set based on a content index for the plurality of content items maintained in the repository of the content management system by limiting a first permissions-filtered results set based on the first access control list; and generating a second permissions-filtered results set after limiting the first permissions-filtered results set by the constraining of the result set.
11. (Original) The system as in claim 10, wherein the operations further comprise: evaluating user permissions based on a user identity of the user, the evaluating comprising searching a user permissions index for permissions granted to the user based on the user identity.
12. (Currently amended) The method as in claim 11, wherein the insight engine further evaluates the first query against the content index concurrent with evaluating a user permissions index against a user identity, and combines results of these two evaluations to produce the result set without post- query processing of permissions evaluated by the content management system, wherein the user permissions index is searched to determine permissions granted to a user or the client submitting the first query and the permissions are granted based on verifying user identity.
12. (Original) The system as in claim 11, wherein the user permissions index comprises an access control list index maintained by the content management system.
13. (Currently amended) The method as in claim 12, wherein the user permissions index comprises an access control list index that includes information about a plurality of user identities having a sufficient level of access to one or more content items referenced by the first access control list.
13. (Original) The system as in claim 12, wherein the evaluating of the user permissions comprises searching an access control list index for access control lists designating the user identity as having a sufficient level of access to content items assigned to the access control lists.
14. (Original) The method as in claim 11, wherein the first query comprises a first string of characters entered into a user interface and the second permissions-filtered results set is rendered on the user interface.
14. (Original) The system as in claim 10, wherein the query comprises a string of characters entered by the user into a user interface.
15. (Currently amended) The method as in claim 11, wherein the first field is associated with operational data including at least one of a creation timestamp, a deletion timestamp, a lock timestamp, and time series datal such that are eliminated from use in the method.
15. (Original) The method as in claim 14, wherein the returning the aggregated permissions-filtered results set comprises providing the aggregated permissions- filtered results set to the user interface.
16. (Currently amended) A non-transitory computer program product storing instructions for a content management system which, when executed by at least one data processor, cause operations comprising: responsive to receiving, from a client including an application and a browser, a first query, including a request to access at least one of a plurality of content items, obtaining, via a repository coupled to the at least one processor, a first access control list associated with the first query, the first access control list comprising an ordered list of access control entries, each access control entry associating an authority to a permission and a deny / allow flag, and an ACL reference to a hierarchy level; processing, via an insight engine coupled to the at least one processor, the first query based on at least a first field included in a database schema according to an execution plan, the first field not storing data in a physical storage and pointing to metadata stored in a data storage medium; determining, via the insight engine, a first value associated with the first field based on other field values, the first field being a virtual field that does not exist in a search index; receiving, at a search engine, the execution plan from the insight engine; searching, via the search engine, the search index according to the execution plan; returning, via the search engine, a result set referencing at least some of the plurality of content items; constraining, via the search engine, the result set based on a content index for the plurality of content items maintained in the repository of the content management system by limiting a first permissions-filtered results set based on the first access control list; and generating a second permissions-filtered results set after limiting the first permissions-filtered results set by the constraining of the result set.
16. (Original) The method as in claim 10, wherein the generating is based on a virtual field.
17. (Currently amended) The non-transitory computer program product of claim 16, wherein a user permissions index is searched to determine permissions granted to a user submitting the first query and the permissions are granted based on verifying user identity and the user permissions index comprises an access control list index that includes information about a plurality of user identities having a sufficient level of access to one or more content items referenced by the first access control list.
17. (Original) The method of claim 16, wherein the virtual field comprises time series data.
18. (Original) The non-transitory computer program product of claim 16, wherein the first query comprises a first string of characters entered into a user interface and the second permissions-filtered results set is rendered on the user interface.
18. (Original) The method of claim 16, wherein the virtual field specifies a machine learning operation.
19. (Original) The non-transitory computer program product of claim 16, wherein the first field is associated with operational data including at least one of a creation timestamp, a deletion timestamp, a lock timestamp, and time series data.
19. (Currently Amended) A non-transitory computer program product storing instructions which, when executed by at least one data processor, causes operations comprising: receiving a query and an access control list associated with a user submitting the query for processing to a search engine, the access control list being assigned to the query for user authentication during query analysis by an insight engine, the query including a request to access content managed by a content management system; generating an execution plan for the search engine to process the query based on a virtual field included in a virtual database schema to specify different behaviors in generating the execution plan, the virtual field pointing to metadata stored in a database that is not assessable to the user submitting the query; calculating the virtual field value based on one or more field values in the virtual database schema; using the execution plan to search a search index and return a result set of documents, in response to receiving the query, wherein the virtual field does not exist in the search index; constraining results returned from the query using a content index of a plurality of content items maintained in a repository of the content management system, the constraining comprising limiting a content item of the plurality of content items from being added to a permissions-filtered results set based on the access control list assigned to the query; aggregating based on the execution plan, the permissions-filtered results set; and returning the aggregated permissions-filtered results set to the content management system.
20. (Currently amended) The non-transitory computer program product of claim 19, such that a need for user-implemented complex SQL functions that specify time series queries is eliminated based on the association between the first field and the operational data, wherein the operations further comprise: evaluating the first query against the content index concurrently with evaluating a user permissions index against a user identity; and combining results of both evaluations to produce the result set without post-query processing of permissions evaluated by the content management system.
20. (Previously Presented) The non-transitory computer program product of the non-transitory computer program product of wherein the user permissions index comprises an access control list index maintained by the content management system, and wherein the evaluating of the user permissions comprises searching an access control list index for access control lists designating the user identity as having a sufficient level of access to content items assigned to the access control lists.
Noted, it would have been obvious to a person of ordinary skill in the art at the time the invention was made to modify or to omit the additional elements of claims 1-20 of U.S. Patent No. 11/886,431 to arrive at the claims 1-20 of the instant application because the person would have realized that the remaining element would perform the same functions as before. "Omission of element and its function in combination is obvious expedient if the remaining elements perform same functions as before." See In re Karlson (CCPA) 136 USPQ 184, decide Jan 16, 1963, Appl. No. 6857, U.S. Court of Customs and Patent Appeals.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to CHARLES RONES whose telephone number is (571)272-4085. The examiner can normally be reached M-F 9-5:30pm.
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, Cordelia Zecher can be reached at 571-272-7771. 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.
CHARLES RONES
Supervisory Patent Examiner
Art Unit 2136
/CHARLES RONES/ Supervisory Patent Examiner, Art Unit 2168