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 .
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 02/04/2026 has been entered.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
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.
The factual inquiries set forth in Graham v. John Deere Co., 383 U.S. 1, 148 USPQ 459 (1966), that are applied 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.
Claims 1-20 are rejected under 35 U.S.C. 103 as being unpatentable over Mermoud et al. (US 2019/0342194) in view of Kamath et al. (US 2018/0081905).
Regarding Claim 1, Mermoud discloses a computer-implemented method, comprising:
receiving software application metadata corresponding to a plurality of software applications installed throughout a distributed computing infrastructure (Fig. 1A, 140, [0014], “Data packets 140 (e.g., traffic/messages) may be exchanged among the nodes/devices of the computer network 100 over links using predefined network communication protocols such as the Transmission Control Protocol/Internet Protocol (TCP/IP), User Datagram Protocol (UDP), Asynchronous Transfer Mode (ATM) protocol, Frame Relay protocol, or any other suitable protocol. Those skilled in the art will understand that any number of nodes, devices, links, etc. may be used in the computer network, and that the view shown herein is for simplicity,” wherein sending the actual packets (e.g. traffic/messages) implies that data about the data or metadata about the messages is also included as claimed; Mermoud);
receiving a function indicative of a mapping of related software applications of the plurality of software applications ([0033]-[0035], wherein assurance functions and network policies are examples of functions as claimed, Mermoud);
receiving, from a plurality of data sources in the distributed computing infrastructure, resource usage data corresponding to the plurality of software applications ([0034], Mermoud);
transforming a plurality of different data formats of the resource usage data into normalized data in a standardized format ([0035], “may then group 150 failures into different “buckets” (e.g., Association, Authentication, Mobility, DHCP, WebAuth, Configuration, Infra, Delete, De-Authorization) and continue to increment these counters per service set identifier (SSID), while performing averaging every five minutes and hourly. The system may also maintain a client association request count per SSID every five minutes and hourly, as well. To trigger the rule, the system may evaluate whether the error count in any bucket has exceeded 20% of the total client association request count for one hour,” wherein grouping or organizing the failures into buckets corresponds to transforming into normalized data in a standardized format as claimed; wherein including multiple failures in a specific group or bucket implies that the failures will appear similar in that particular bucket; therefore, they are normalized as claimed; Mermoud);
consolidating the normalized data into a unified data source using the mapping and the software application metadata ([0035], [0036], “recognize complex patterns in these data,” wherein recognizing patterns corresponds to consolidating the data as claimed; [0046], [0047], Mermoud);
receiving, from a graphical user interface (GUI) dashboard, a request to transform at least a portion of the normalized data according to one or more data points ([0046]-[0047], Mermoud); and
in response to the request:
transforming at least the portion of the normalized data into transformed data ([0046], “a data mapper and normalizer 314 that receives the collected and/or anonymized data 336 from network data collection platform 304. In turn, data mapper and normalizer 314 may map and normalize the received data into a unified data model for further processing by cloud service 302. For example, data mapper and normalizer 314 may extract certain data features from data 336 for input and analysis by cloud service 302,” [0047], “cloud service 302 may include a machine learning (ML)-based analyzer 312 configured to analyze the mapped and normalized data from data mapper and normalizer 314,” Mermoud); and
sending the transformed data for display at the GUI dashboard ([0046]-[0047], Mermoud).
However, Mermoud does not expressly disclose to represent hierarchies between two or more software applications. Kamath discloses to represent hierarchies between two or more software applications of the plurality of software applications ([0007], “inputs may be received identifying two or more data dimensions of various applications in a hierarchical data system, and a mapping may be generated between the different data dimensions,” Kamath). It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the system of Mermoud by incorporating to represent hierarchies between two or more software applications, as disclosed by Kamath, in order to allow users to interact with their data hierarchies and master data through management of materialized, application-centric views ([0008], Kamath). See: KSR International Co. v. Teleflex Inc., 82 USPQ 1385, 1396 (US 2007); MPEP § 2143.
Regarding Claim 2, Mermoud/Kamath discloses a computer-implemented method of claim 1, wherein transforming the plurality of different data formats further comprise:
integrating the resource usage data based, at least in part, on individual data formats of the plurality of different data formats ([0034]-[0035], Mermoud); and
generating additional resource usage data that corresponds to the distributed computing infrastructure based, at least in part, on the integrated resource usage data ([0034]-[0035], Mermoud).
Regarding Claim 3, Mermoud/Kamath discloses a computer-implemented method of claim 1, further comprising:
receiving an identifier of a software application of the plurality of software applications within the distributed computing infrastructure, the identifier comprising a name or a number associated with the software application ([0065], Mermoud); and
determining a portion of the normalized data based, at least in part, on the identifier ([0065], Mermoud).
Regarding Claim 4, Mermoud/Kamath discloses a computer-implemented method of claim 1, wherein
the software application metadata, the function, and the resource usage data are from different data sources that are distinct from the unified data source ([0065], Mermoud); and
transforming the plurality of the different data formats of the resource usage data into the normalized data comprises identifying common software application identifier ([0046], “a data mapper and normalizer 314 that receives the collected and/or anonymized data 336 from network data collection platform 304. In turn, data mapper and normalizer 314 may map and normalize the received data into a unified data model for further processing by cloud service 302. For example, data mapper and normalizer 314 may extract certain data features from data 336 for input and analysis by cloud service 302,” [0047], “cloud service 302 may include a machine learning (ML)-based analyzer 312 configured to analyze the mapped and normalized data from data mapper and normalizer 314,” Mermoud; and [0078], “to create (or to attempt to create) common hierarchies across applications,” Kamath).
Regarding Claim 5, Mermoud discloses a system, comprising:
one or more processors (Fig. 2, 220, Mermoud); and
one or more non-transitory, computer-readable media comprising executable instructions recorded thereon that, as a result of execution by the one or more processors, cause the system to at least (Fig. 2, 220, Mermoud):
obtain one or more configurations associated with a plurality of software applications within a distributed computing infrastructure (Fig. 1A, 140, Mermoud);
receiving a function indicative of a mapping of related software applications of the plurality of software applications ([0033]-[0035], wherein assurance functions and network policies are examples of functions as claimed, Mermoud);
receive, from a plurality of data sources in the distributed computing infrastructure, first resource data associated with the plurality of software applications (Fig. 1A, 140, Mermoud);
generate second resource data in a standardized format from different data formats of the first resource data ([0035], Mermoud);
integrate the second resource data into a data source using the one or more configurations ([0035], Mermoud); and
in response to an indication of one or more data points corresponding to the second resource data, transform one or more portions of the second resource data ([0035], “may then group 150 failures into different “buckets” (e.g., Association, Authentication, Mobility, DHCP, WebAuth, Configuration, Infra, Delete, De-Authorization) and continue to increment these counters per service set identifier (SSID), while performing averaging every five minutes and hourly. The system may also maintain a client association request count per SSID every five minutes and hourly, as well. To trigger the rule, the system may evaluate whether the error count in any bucket has exceeded 20% of the total client association request count for one hour,” Mermoud)Mermoud).
However, Mermoud does not expressly disclose to represent hierarchies between two or more software applications. Kamath discloses to represent hierarchies between two or more software applications of the plurality of software applications ([0007], “inputs may be received identifying two or more data dimensions of various applications in a hierarchical data system, and a mapping may be generated between the different data dimensions,” Kamath). It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the system of Mermoud by incorporating to represent hierarchies between two or more software applications, as disclosed by Kamath, in order to allow users to interact with their data hierarchies and master data through management of materialized, application-centric views ([0008], Kamath). See: KSR International Co. v. Teleflex Inc., 82 USPQ 1385, 1396 (US 2007); MPEP § 2143.
Regarding Claim 6, Mermoud/Kamath discloses a system of claim 5, wherein the executable instructions further include instructions that further cause the system to provide the one or more transformed portions of the second resource data for display at a dashboard ([0035], Mermoud).
Regarding Claim 7, Mermoud/Kamath discloses a system of claim 6, wherein the second resource data comprises total resource usage data of the distributed computing infrastructure ([0034]-[0035], Mermoud).
Regarding Claim 8, Mermoud/Kamath discloses a system of claim 5, wherein the executable instructions further include instructions that further cause the system to:
obtain an indication of a software application of the plurality of software applications within the distributed computing infrastructure ([0065], Mermoud); and
determine a portion of the second resource data based, at least in part, on the indication ([0065], Mermoud).
Regarding Claim 9, Mermoud/Kamath discloses a system of claim 5, wherein the executable instructions that cause the system to transform one or more portions of the second resource data further include instructions that further cause the system to transform the one or more portions to match a data format specified by a user request ([0050], “cloud service 302 may use the predicted user experiences from analyzer 312 to provide information to a network administrator or architect in real-time and enable closed loop control over the network by cloud service 302, accordingly. For example, cloud service 302 may signal to a particular type of endpoint node in branch office 306 or campus 308 (e.g., an iPhone, an IoT healthcare device, etc.) that better QoS will be achieved if the device switches to a different AP 320 or 328,” Mermoud).
Regarding Claim 10, Mermoud/Kamath discloses a system of claim 5, wherein the indication of the one or more data points is obtained as a result of interaction with one or more elements of a graphical user interface (GUI) ([0046]-[0047], Mermoud).
Regarding Claim 11, Mermoud/Kamath discloses a system of claim 5, wherein the executable instructions further include instructions that further cause the system to generate instructions for at least a portion of the distributed computing infrastructure based, at least in part, on the second resource data ([0035], Mermoud).
Regarding Claim 12, Mermoud/Kamath discloses a system of claim 5, wherein the one or more configurations correspond to a function that is to be performed by executing at least one of the plurality of software applications within the distributed computing infrastructure (Fig. 1A, Mermoud).
Regarding Claim 13, Mermoud discloses one or more non-transitory computer-readable storage media having stored thereon computer-executable instructions that, as a result of being executed by one or more processors of a computer system, cause the computer system to at least:
obtain software application metadata corresponding to a plurality of software applications installed throughout a distributed computing infrastructure (Fig. 1A, 140, (Fig. 1A, 140, [0014], “Data packets 140 (e.g., traffic/messages) may be exchanged among the nodes/devices of the computer network 100 over links using predefined network communication protocols such as the Transmission Control Protocol/Internet Protocol (TCP/IP), User Datagram Protocol (UDP), Asynchronous Transfer Mode (ATM) protocol, Frame Relay protocol, or any other suitable protocol. Those skilled in the art will understand that any number of nodes, devices, links, etc. may be used in the computer network, and that the view shown herein is for simplicity,” wherein sending the actual packets (e.g. traffic/messages) implies that data about the data or metadata about the messages is also included as claimed; Mermoud);
obtain one or more configurations of related software applications of the plurality of software applications (Fig. 1A, 140, Mermoud);
obtain a function indicative of a mapping of related software applications of the plurality of software applications ([0033]-[0035], wherein assurance functions and network policies are examples of functions as claimed, Mermoud);
obtain, from a plurality of data sources in the distributed computing infrastructure, resource data corresponding to the plurality of software applications (Fig. 1A, 140, Mermoud);
transform a plurality of different data formats of the resource data into additional data in a standardized format ([0035], “may then group 150 failures into different “buckets” (e.g., Association, Authentication, Mobility, DHCP, WebAuth, Configuration, Infra, Delete, De-Authorization) and continue to increment these counters per service set identifier (SSID), while performing averaging every five minutes and hourly. The system may also maintain a client association request count per SSID every five minutes and hourly, as well. To trigger the rule, the system may evaluate whether the error count in any bucket has exceeded 20% of the total client association request count for one hour,” Mermoud);
integrate the additional data into a unified data source using the one or more configurations ([0035], Mermoud);
obtain a request to transform one or more portions of the additional data ([0046]-[0047], Mermoud); and
provide the one or more portions that are transformed ([0046]-[0047], Mermoud).
However, Mermoud does not expressly disclose to represent hierarchies between two or more software applications. Kamath discloses to represent hierarchies between two or more software applications of the plurality of software applications ([0007], “inputs may be received identifying two or more data dimensions of various applications in a hierarchical data system, and a mapping may be generated between the different data dimensions,” Kamath). It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the system of Mermoud by incorporating to represent hierarchies between two or more software applications, as disclosed by Kamath, in order to allow users to interact with their data hierarchies and master data through management of materialized, application-centric views ([0008], Kamath). See: KSR International Co. v. Teleflex Inc., 82 USPQ 1385, 1396 (US 2007); MPEP § 2143.
Regarding Claim 14, Mermoud/Kamath discloses one or more non-transitory computer-readable storage media of claim 13, wherein the computer-executable instructions further include executable instructions that further cause the computer system to:
obtain an indication of a software application of the plurality of software applications within the distributed computing infrastructure ([0065], Mermoud); and
determine a portion of the additional data based, at least in part, on the indication ([0065], Mermoud).
Regarding Claim 15, Mermoud/Kamath discloses one or more non-transitory computer-readable storage media of claim 13, wherein the request is obtained based, at least in part, on one or more interactions with one or more graphical user interface (GUI) elements ([0046]-[0047], Mermoud).
Regarding Claim 16, Mermoud/Kamath discloses one or more non-transitory computer-readable storage media of claim 13, the one or more configurations and the resource data are from different data sources (Fig. 1A, 140, Mermoud).
Regarding Claim 17, Mermoud/Kamath discloses one or more non-transitory computer-readable storage media of claim 13, wherein the additional data comprise total resource usage data of the distributed computing infrastructure ([0034]-[0035], Mermoud).
Regarding Claim 18, Mermoud/Kamath discloses one or more non-transitory computer-readable storage media of claim 13, wherein the request comprises one or more parameters to indicate the one or more portions of the distributed computing infrastructure ([0034]-[0035], Mermoud).
Regarding Claim 19, Mermoud/Kamath discloses one or more non-transitory computer-readable storage media of claim 13, wherein the one or more configurations correspond to one or more functions to be performed by executing at least one of the plurality of software applications within the distributed computing infrastructure ([0065], Mermoud).
Regarding Claim 20, Mermoud/Kamath discloses one or more non-transitory computer-readable storage media of claim 13, wherein the one or more configurations are generated based, at least in part, on a hierarchy between two or more functions associated with the plurality of software applications within the distributed computing infrastructure ([0012], Mermoud).
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to GIOVANNA B COLAN whose telephone number is (571)272-2752. The examiner can normally be reached Mon - Fri 8:30-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, Aleksandr Kerzhner can be reached at (571) 270-1760. 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.
/GIOVANNA B COLAN/Primary Examiner, Art Unit 2165 March 17, 2026