DETAILED ACTION
Notice of Pre-AIA or AIA Status
1. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
2. In response to the Office action mailed on 6/18/2025, the applicants have filed a response: claims 100 – 111, 117, 119 and 122 have been amended, claims 118, 120 and 121 have been cancelled and claims 181 – 183 have been added. Claims 100 – 117, 119, 122 and 181 - 183 are pending.
Claim Rejections - 35 USC § 103
3. 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.
4. The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
5. This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
6. Claims 100 – 102, 104, 105, 109, 111 – 113, 115, 116, 120, 122 and 181 are rejected under 35 U.S.C. 103 as being unpatentable over Graham et al. (U.S. Patent 11,016,946) (Graham hereinafter) in view of Shen et al. (U.S. Patent 11,436,057) (Shen hereinafter).
7. As per claim 100, Graham teaches at least one non-transitory computer readable medium having computer coded instructions configured to, when executed by at least one processor, define at least one application programming interface (API), the at least one API defining a gateway configured to connect a plurality of devices to a plurality of computing resources, the at least one API comprising: an experience layer; and a system layer; wherein the experience layer is configured to receive one or more external API calls and transform the one or more external API calls into one or more internal API calls directly or indirectly to the system layer [“The object storage engine (or “storage engine”) 108 processes requests to read and write object data and metadata. In some embodiments, the storage engine 108 includes an internal API used by the interfaces 106. Thus, for example, a given interface 106a, 106b can receive a client request using an external API, translate the request into one or more internal API operations, execute those internal API operations against the storage engine 108, and return an appropriate response to the client according to the external API,” col. 6, lines 37 – 46; REST-based API 106b mapped to API, storage engine mapped to experience layer]; and
wherein the system layer is configured to receive the one or more internal API calls and transmit computer executable instructions to execute one or more functions at the plurality of computing resources [“For remote storage locations, the storage engine 108 may issue remote commands to the appropriate peer nodes 102b-102n, which read/write data from their locally managed storage devices and return data (or a write acknowledgement) to the original node 102a,” col. 7, lines 1 – 7].
Graham does not explicitly disclose but Shen discloses wherein the at least one API is further configured to connect each of the plurality of computing resources with a dynamic resource assembly system configured to assemble functionality associated with the plurality of computing resources into at least one computing resource set [“The method receives intent-based API (Application Programming Interface) requests, and parses these API requests to identify a set of network elements to connect and/or perform services for the set of machines. In some embodiments, the API is a hierarchical document that can specify multiple different compute and/or network elements at different levels of compute and/or network element hierarchy. The method performs automated processes to define a virtual private cloud (VPC) to connect the set of machines to a logical network that segregates the set of machines from other machines in the datacenter set,” Abstract; VPC mapped to computing resource set].
It would have been obvious to one of ordinary skill in the art, having the teachings of Graham and Shen and available before the effective filing date of the claimed invention, to modify the capability of API call translation as disclosed by Graham to include the capability of network resource assignment as taught by Shen, thereby providing a mechanism to enhance system efficiency by facilitating system resource groupings.
8. As per claim 101, Graham and Shen teach the at least one non-transitory computer readable medium according to Claim 100. Shen further teaches wherein the API is configured to receive a resource access request associated with a selected computing resource set of the at least one computing resource set, and wherein the API is configured to direct the resource access request to the dynamic resource assembly system [“The method performs automated processes to define a virtual private cloud (VPC) to connect the set of machines to a logical network that segregates the set of machines from other machines in the datacenter set. In some embodiments, the set of machines include virtual machines and container Pods, the VPC is defined with a supervisor cluster namespace, and the API requests are provided as YAML files,” col. 1, lines 31 – 35; “The VPC gateway router is configured to communicate with a datacenter gateway router to connect the VPC gateway to another VPC gateway of another VPC in order to connect the two VPCs to each other. In some embodiments, the VPC routers of the two VPCs can be configured to communicate with each other directly,” col. 1, lines 60 – 65].
It would have been obvious to one of ordinary skill in the art, having the teachings of Graham and Shen and available before the effective filing date of the claimed invention, to modify the capability of API call translation as disclosed by Graham to include the capability of network resource assignment as taught by Shen, thereby providing a mechanism to enhance system efficiency by facilitating system resource groupings.
9. As per claim 102, Graham and Shen teach the at least one non-transitory computer readable medium according to Claim 100. Shen further teaches wherein the API is configured to receive an indication of an update from one of the plurality of computing resources; and transmit the indication of the update to the dynamic resource assembly system [“NCP 145 registers for event notifications with the API server 140, e.g., sets up a long-pull session with the API server to receive all CRUD (Create, Read, Update and Delete) events for various CRDs that are defined for networking. In some embodiments, the API server 140 is a Kubernetes master VM, and the NCP 145 runs in this VM as a Pod. NCP 145 in some embodiments collects realization data from the SDN resources for the CRDs and provide this realization data as it relates to the CRD status,” col. 9, lines 8 – 12].
It would have been obvious to one of ordinary skill in the art, having the teachings of Graham and Shen and available before the effective filing date of the claimed invention, to modify the capability of API call translation as disclosed by Graham to include the capability of network resource assignment as taught by Shen, thereby providing a mechanism to enhance system efficiency by facilitating system resource groupings.
10. As per claim 104, Graham and Shen teach the at least one non-transitory computer readable medium according to Claim 100. Shen further teaches wherein the API is further configured to receive an indication of a new computing resource, and transmit an onboarding data structure to the dynamic resource assembly system [“Whenever the control system 100 allocates a new segment for a sub-network (e.g., the default network 502 or the Vnets 504-510) of the logical network, the control system not only allocates IP addresses and MAC addresses, but also configures the routing tables of the logical network routers to allow the data messages to be forwarded to and from the segments,” col. 18, lines 45 – 51; routing tables mapped to onboarding data structure].
It would have been obvious to one of ordinary skill in the art, having the teachings of Graham and Shen and available before the effective filing date of the claimed invention, to modify the capability of API call translation as disclosed by Graham to include the capability of network resource assignment as taught by Shen, thereby providing a mechanism to enhance system efficiency by facilitating system resource groupings.
11. As per claim 105, Graham and Shen teach the at least one non-transitory computer readable medium according to Claim 100. Shen further teaches wherein the API is further configured to connect each of the plurality of computing resources and the dynamic resource assembly system with an operator terminal configured to modify one or more databases associated with one or more of the plurality of computing resources or the dynamic resource assembly system [“The bus 3105 also connects to the input and output devices 3140 and 3145. The input devices enable the user to communicate information and select requests to the computer system. The input devices 3140 include alphanumeric keyboards and pointing devices (also called “cursor control devices”). The output devices 3145 display images generated by the computer system. The output devices include printers and display devices, such as cathode ray tubes (CRT) or liquid crystal displays (LCD). Some embodiments include devices such as touchscreens that function as both input and output devices,” col. 35, lines 10 – 16; “The network control system of some embodiments leverages Kubernetes RBAC (role-based authentication controls) to make sure only the VPC administrator users can create, update, or delete Admin Policy CRDs of the VPC, and only the GC administrator users can create, update, or delete Admin Policy CRDs of the GC,” col. 37, lines 47 – 53].
It would have been obvious to one of ordinary skill in the art, having the teachings of Graham and Shen and available before the effective filing date of the claimed invention, to modify the capability of API call translation as disclosed by Graham to include the capability of network resource assignment as taught by Shen, thereby providing a mechanism to enhance system efficiency by facilitating system resource groupings.
12. As per claim 109, Graham and Shen teach the at least one non-transitory computer readable medium according to Claim 100. Shen further teaches wherein the API is further configured to receive a message intended for multiple user devices and transmit the message to each of the multiple user devices [“Whenever the control system 100 allocates a new segment for a sub-network (e.g., the default network 502 or the Vnets 504-510) of the logical network, the control system not only allocates IP addresses and MAC addresses, but also configures the routing tables of the logical network routers to allow the data messages to be forwarded to and from the segments,” col. 18, lines 45 – 51; routing tables mapped to onboarding data structure].
It would have been obvious to one of ordinary skill in the art, having the teachings of Graham and Shen and available before the effective filing date of the claimed invention, to modify the capability of API call translation as disclosed by Graham to include the capability of network resource assignment as taught by Shen, thereby providing a mechanism to enhance system efficiency by facilitating system resource groupings.
13. As per claim 111, it is an apparatus claim having similar limitations as cited in claim 100. Thus, claim 111 is also rejected under the same rationale as cited in the rejection of claim 100 above.
14. As per claim 112, it is an apparatus claim having similar limitations as cited in claim 101. Thus, claim 112 is also rejected under the same rationale as cited in the rejection of claim 101 above.
15. As per claim 113, it is an apparatus claim having similar limitations as cited in claim 102. Thus, claim 113 is also rejected under the same rationale as cited in the rejection of claim 102 above.
16. As per claim 115, it is an apparatus claim having similar limitations as cited in claim 104. Thus, claim 115 is also rejected under the same rationale as cited in the rejection of claim 104 above.
17. As per claim 116, it is an apparatus claim having similar limitations as cited in claim 105. Thus, claim 116 is also rejected under the same rationale as cited in the rejection of claim 105 above.
18. As per claim 122, it is a method claim having similar limitations as cited in claim 100. Thus, claim 122 is also rejected under the same rationale as cited in the rejection of claim 100 above.
19. As per claim 181, Graham and Shen teach the at least one non-transitory computer readable medium according to Claim 100. Shen further teaches wherein the plurality of computing resources are independent and at least one of the plurality of computing resources is provided by a different entity than another one of the plurality of computing resources [“In some embodiments, the deployed network elements include a gateway router for VPC ( called VPC gateway router ) to connect the VPC to a network of the datacenter set or to a network external to the datacenter set,” col. 1, lines 44 – 48].
It would have been obvious to one of ordinary skill in the art, having the teachings of Graham and Shen and available before the effective filing date of the claimed invention, to modify the capability of API call translation as disclosed by Graham to include the capability of network resource assignment as taught by Shen, thereby providing a mechanism to enhance system efficiency by facilitating system resource groupings.
20. Claims 103, 114 and 183 are rejected under 35 U.S.C. 103 as being unpatentable over Graham and Shen in further view of Madisetti et al. (U.S. Publication 2021/0081366) (Madisetti hereinafter).
21. As per claim 103, Graham and Shen teach the at least one non-transitory computer readable medium according to Claim 100. Graham and Shen do not explicitly disclose but Madisetti discloses wherein the API is configured to: receive access privilege data associated with a selected computing resource set of the at least one computing resource set, identify a plurality of constituent computing resources associated with the access privilege data, divide the access privilege data into a plurality of portions of access privilege data associated with respective ones of the plurality of constituent computing resources, and transmit the plurality of portions of access privilege data to the respective ones of the plurality of constituent computing resources [“receiving a client application database access request for creating or modifying client application data from a client application executing on a computerized device at a cloud-based server, deriving a tag associated with the client application database access request at a storage router, the tag indicating storage requirements for at least one of security, access speed, or fault tolerance, receiving tracing information related to the client application database access request at a storage intelligence service, defining received tracing information in terms of the tag and client application attributes comprising at least one of users, roles, privileges, database access patterns, and usage characteristics, storing the received tracing information in a cloud-based trace storage database, analyzing the trace storage database to develop updated rules for client application database access requests, and updating the storage intelligence service with the updated rules.” ¶ 0045].
It would have been obvious to one of ordinary skill in the art, having the teachings of Graham, Shen and Madisetti available before the effective filing date of the claimed invention, to modify the capability of API call translation as disclosed by Graham and Shen to include the capability of resource access management as taught by Madisetti, thereby providing a mechanism to enhance system security by facilitating a mechanism to track resource access privilege settings.
22. As per claim 114, it is an apparatus claim having similar limitations as cited in claim 103. Thus, claim 114 is also rejected under the same rationale as cited in the rejection of claim 103 above.
23. As per claim 183, Graham and Shen teach the at least one non-transitory computer readable medium according to Claim 100. Graham and Shen do not explicitly disclose but Madisetti discloses wherein the dynamic resource assembly system is configured to manage access privilege data for the at least one computing resource set and to facilitate access management for the at least one computing resource set as a whole [“receiving a client application database access request for creating or modifying client application data from a client application executing on a computerized device at a cloud-based server, deriving a tag associated with the client application database access request at a storage router, the tag indicating storage requirements for at least one of security, access speed, or fault tolerance, receiving tracing information related to the client application database access request at a storage intelligence service, defining received tracing information in terms of the tag and client application attributes comprising at least one of users, roles, privileges, database access patterns, and usage characteristics, storing the received tracing information in a cloud-based trace storage database, analyzing the trace storage database to develop updated rules for client application database access requests, and updating the storage intelligence service with the updated rules.” ¶ 0045].
It would have been obvious to one of ordinary skill in the art, having the teachings of Graham, Shen and Madisetti available before the effective filing date of the claimed invention, to modify the capability of API call translation as disclosed by Graham and Shen to include the capability of resource access management as taught by Madisetti, thereby providing a mechanism to enhance system security by facilitating a mechanism to track resource access privilege settings.
24. Claims 106 – 108 and 117 – 119 are rejected under 35 U.S.C. 103 as being unpatentable over Graham and Shen in further view of Rubenstein (U.S. Publication 2018/0013732) (Rubenstein hereinafter).
25. As per claim 106, Graham and Shen teach the at least one non-transitory computer readable medium according to Claim 100. Graham and Shen do not explicitly disclose but Rubenstein discloses wherein the computer coded instructions are further configured to, when executed by the at least one processor, update the API [“the neutral application programming interface (API) mechanism (NAPIM) disclosed herein may be a component of a complex type of network, such as Global Virtual Network (GVN), which needs to dynamically scale across many devices, and in which there exist requirements as follows: add new API call patterns; change existing API call patterns; use a common transport, security and logging framework; retire obsolete API call patterns; have advanced features to be able to carry any payload; dynamically add, remove or edit the API relationship information between peer pairs, including information about a peer itself or related peers which they connect to or which connect to them; allow a device to act contextually as either a server, or a client, or both client and server at different times depending on its role in a specific peer pair API transaction or relationship or transactional relationship; have all API clients and API servers be registered on central servers through API peer to control server API calls which allow for the dynamic updating of API mechanism structure info matrix; and other requirements.” ¶ 0050].
It would have been obvious to one of ordinary skill in the art, having the teachings of Graham, Shen and Rubenstein available before the effective filing date of the claimed invention, to modify the capability of API call translation as disclosed by Graham and Shen to include the capability of API modification as taught by Rubenstein, thereby providing a mechanism to enhance system maintainability by facilitating a mechanism to update/modify API calls.
26. As per claim 107, Graham, Shen and Rubenstein teach the at least one non-transitory computer readable medium according to Claim 106. Rubenstein further teaches wherein updating the API comprises adding one or more external API calls [“the neutral application programming interface (API) mechanism (NAPIM) disclosed herein may be a component of a complex type of network, such as Global Virtual Network (GVN), which needs to dynamically scale across many devices, and in which there exist requirements as follows: add new API call patterns; change existing API call patterns; use a common transport, security and logging framework; retire obsolete API call patterns; have advanced features to be able to carry any payload; dynamically add, remove or edit the API relationship information between peer pairs, including information about a peer itself or related peers which they connect to or which connect to them; allow a device to act contextually as either a server, or a client, or both client and server at different times depending on its role in a specific peer pair API transaction or relationship or transactional relationship; have all API clients and API servers be registered on central servers through API peer to control server API calls which allow for the dynamic updating of API mechanism structure info matrix; and other requirements.” ¶ 0050].
It would have been obvious to one of ordinary skill in the art, having the teachings of Graham, Shen and Rubenstein available before the effective filing date of the claimed invention, to modify the capability of API call translation as disclosed by Graham and Shen to include the capability of API modification as taught by Rubenstein, thereby providing a mechanism to enhance system maintainability by facilitating a mechanism to update/modify API calls.
27. As per claim 108, Graham, Shen and Rubenstein teach the at least one non-transitory computer readable medium according to Claim 106. Rubenstein further teaches wherein updating the API comprises modifying one or more external API calls [“the neutral application programming interface (API) mechanism (NAPIM) disclosed herein may be a component of a complex type of network, such as Global Virtual Network (GVN), which needs to dynamically scale across many devices, and in which there exist requirements as follows: add new API call patterns; change existing API call patterns; use a common transport, security and logging framework; retire obsolete API call patterns; have advanced features to be able to carry any payload; dynamically add, remove or edit the API relationship information between peer pairs, including information about a peer itself or related peers which they connect to or which connect to them; allow a device to act contextually as either a server, or a client, or both client and server at different times depending on its role in a specific peer pair API transaction or relationship or transactional relationship; have all API clients and API servers be registered on central servers through API peer to control server API calls which allow for the dynamic updating of API mechanism structure info matrix; and other requirements.” ¶ 0050].
It would have been obvious to one of ordinary skill in the art, having the teachings of Graham, Shen and Rubenstein available before the effective filing date of the claimed invention, to modify the capability of API call translation as disclosed by Graham and Shen to include the capability of API modification as taught by Rubenstein, thereby providing a mechanism to enhance system maintainability by facilitating a mechanism to update/modify API calls.
28. As per claim 117, it is an apparatus claim having similar limitations as cited in claim 106. Thus, claim 117 is also rejected under the same rationale as cited in the rejections of claim 106 and 107 above.
29. As per claim 119, it is an apparatus claim having similar limitations as cited in claim 108. Thus, claim 119 is also rejected under the same rationale as cited in the rejection of claim 108 above.
30. Claims 110 and 121 are rejected under 35 U.S.C. 103 as being unpatentable over Graham and Shen in further view of Kozura et al. (U.S. Patent 11,785,584) (Kozura hereinafter).
31. As per claim 110, Graham and Shen teach the at least one non-transitory computer readable medium according to Claim 100. Graham and Shen do not explicitly disclose but Kozura discloses wherein the API is the only gateway to the system for receiving resource access requests associated with the at least one computing resource set [“The app 902 uses the single API Gateway 904 that exposes all the resources 406 that the App 902 is allowed to access. The API gateway 904 may be used by multiple services and/or clients that access the distributed computing system 100 to provide services to the user. The API gateway 904 provides a consistent view of the distributed system for the multiple services and/or clients and can also arbitrate any contention or conflicts between multiple services and/or clients that want to control a given resource,” col. 10, line 66 – col. 11, line 8].
It would have been obvious to one of ordinary skill in the art, having the teachings of Graham, Shen and Kozura available before the effective filing date of the claimed invention, to modify the capability of API call translation as disclosed by Graham and Shen to include the capability of managing access to distributed resources as taught by Kozura, thereby providing a mechanism to enhance system maintainability by establishing a single point of access for network resources.
32. Claims 110 and 121 are rejected under 35 U.S.C. 103 as being unpatentable over Graham and Shen in further view of Ail et al. (U.S. Publication 2014/0047048) (Ail hereinafter).
33. As per claim 182, Graham and Shen teach the at least one non-transitory computer readable medium according to Claim 100. Graham and Shen do not explicitly disclose but Ail discloses wherein the at least one computing resource set comprises a user-selected combination of independent computing resources [“in step S601 the device 410 receives resource information from another device in the group of devices over the network 120 in FIG. 1. The resource information can be information which identifies one remote shareable resource or which identifies a plurality of remote shareable resources. At this point, the device 410 can store the received resource information, for example in the catalog 310 as shown in FIG. 3 together with resource information from other devices. Then, in step S602 one specific resource of a plurality of resources is selected, for example, by a user input, command, or selection through an input device included or connected to the selection module 416, with the plurality of resources including at least one local resource and the remote resource identified by the resource information received in step S601,” ¶ 0086].
It would have been obvious to one of ordinary skill in the art, having the teachings of Graham, Shen and Ail available before the effective filing date of the claimed invention, to modify the capability of API call translation as disclosed by Graham and Shen to include the capability of user selectability of network resources as taught by Ail, thereby providing a mechanism to enhance system usability by allowing flexibility in allocation of system resources.
Response to Arguments
34. Applicant's arguments have been fully considered but they are not persuasive.
35. Applicant argues on page 10 that Shen does not disclose the claimed “computing resource set” of claims 100, 11 and 122 “because functionality of the alleged computing resources is not assembled into at least one VPC …” However, it is first noted that the terms “computing resource” and “computing resource set” are not explicitly defined in the specification. The terms are thus interpreted broadly to include the cited Virtual Private Cloud (VPC) in Shen. Additionally, the cited portion of Shen discloses the definition of a VPC as a set of connected machines (computing resources) into one or more VPCs.
36. Applicant’s remaining arguments are directed to newly added claims 181 – 183, which are addressed above.
Conclusion
37. THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
38. Any inquiry concerning this communication or earlier communications from the examiner should be directed to WILLIAM C WOOD whose telephone number is (571)272-5285. The examiner can normally be reached Monday - Friday, 8:00 am - 4:30 pm.
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, Chat C Do can be reached at 571-272-3721. 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.
/WILLIAM C WOOD/Examiner, Art Unit 2193
/Chat C Do/Supervisory Patent Examiner, Art Unit 2193