Details
Claims 1-20 are pending.
Claims 1-20 are rejected.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 10-16 rejected under 35 U.S.C. 101 because the claims is directed to a system comprising one or more computer-readable media which can include transitory media such as signals.
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.
Claims 1-16 are rejected under 35 U.S.C. 103 as being unpatentable over Burghes (Pub. No.: US 2024/0356840) in view of Dutta et al (Pub. No.: US 2013/0007261).
As per claim 1, Burghes discloses a method of providing an agentless end-to-end monitoring service in a multi- cloud network (MCN) (Burghes, Fig 1, 111a-111n), comprising: - receiving, by a virtual point of presence (vPoP) within a service provider account of a cloud service provider (CSP) of the MCN, input associated with a test of a network element within a tenant account of the CSP (Burghes, paragraph 0032, wherein “For example, a device (e.g., a user device) may submit an alert to the service provider 108. The alert may indicate reduced performance of the service 109 from the perspective of the user (e.g., audio of a video streaming service may be experiencing interference). The service provider 108 may determine to perform a test to identify a performance of the service 109 for the client device 106 associated with the user device (e.g., a CPE located at a residential or commercial location associated with the user device). The service provider 108 may transmit (e.g., send), to the data processing system 110 (e.g., a hardware or virtual agent, nPoint, point of presence (PoP)), a request to perform a synthetic transaction (e.g., the test) to determine the performance”; wherein the request to perform a synthetic transaction can be the input associated with a test, the and the network element can be the client device (CPE) or the service provided to the client device); - generating, by the vPoP, one or more probes associated with the test of the network element (Burghes, paragraph 0033-0034, wherein “The request manager 122 may determine the data based on the indication from the request or may access the data from the memory 120 in response to receiving the request. The test (or test data) can refer to or include a data structure or data files corresponding to the test. The test can include, for example, a script or instructions regarding types of tests to perform, when to perform the test, and what transactions or activities to simulate for the test. The test data can indicate to perform the test based on a time interval (e.g., a pro-active test) or an event (e.g., a reactive test)”); - sending, by the vPoP and to the network element within the tenant account, the one or more probes (Burghes, paragraph 0034, wherein “Responsive to determining to conduct a test of the service, the data processing system 110 can send an instruction to the tunnel handler 124, the synthetic transaction manager 128, or both, to initiate execution of the test of the performance or availability of the service 109”); - determining, based on the one or more probes, a status of a connection to the network element (Burghes, paragraph 0038-0039, wherein “The synthetic transaction manager may receive the response from the client device 106 and provide information associated with the response to the performance analyzer 132. The performance analyzer 132 may determine metrics (e.g., a round trip time (RTT), a quantity of TCP retransmissions, a quantity of timeouts, an error code, etc.) associated with the performance of the synthetic transaction based on the response”. For example, the performance analyzer 132 may determine a first RTT associated with transmission of the data packets from the data processing system 110 to the service 109 via the client device 106 (e.g., via the tunnel 104 and the network 105)); and - sending, based on the status, output to (Burghes, paragraph 0043, wherein “The exporter 134 may comprise executable instructions that, upon execution by the processor 118, may provide (e.g., export) a notification indicative of the performance of the execution of the synthetic transaction, a report associated with the synthetic transaction, a message including the metrics for one or more synthetic transactions, or any combination thereof (e.g., generated data), to the service providers 108. For example, the exporter 134 may create an exportable file (e.g., a file with a format such as BIL, GRD/TAB, PNG, ASKII, KMZ, etc.) from the generated data and transmit the exportable file to the service providers 108”). Burghes does not explicitly disclose a dashboard of a service provider. However, using dashboards to view/show data including results/status is well known in the art. For example, Dutta discloses a dashboard of a service provider (Dutta, Fig 5-6, paragraph 0008, wherein “FIGS. 5 and 6 are example display presentations in the form of a dashboard that present a quick overview of the status of service providers' virtual data centers”; Paragraph 0017, wherein “The result of this assessment may then be presented to a service provider or some other user in the form of, e.g., a dashboard display so that the viewer of the display can quickly gain insight into the status or health of a given virtual data center”) .
Therefore, it would have it would have been obvious to one ordinary skill in the art before the effective filing date of the invention to incorporate Burghes with Dutta to achieve the claimed limitations because a user would be able to quickly gain insight into the status or health of a given network element/service.
As per claim 2, claim 1 is incorporated and Burghes further discloses wherein the vPoP is configured as a head end and comprises an instance of a cloud agent configured to perform monitoring and probing of network elements (Burghes, paragraph 0030-0031, wherein “he data processing system 110 may include one or more processors 118 that may be configured to create a tunnel 104 between the data processing system 110 and the client device 106, execute a synthetic transaction for the client device 106, and indicate performance of the synthetic transaction … The memory 120 may include one or more of a request manager 122, a tunnel handler 124, a synthetic transactions manager 128, a metric database 130, a performance analyzer 132, and an exporter 134. The data processing system 110 may further include other components, managers, handlers, etc. to perform the techniques as described herein. In brief overview, the components 122-134 may receive a request to execute a synthetic transaction to determine a performance of a telecommunications device (e.g., the client device 106) accessing a service (e.g., the service 109). The components 122-134 may create a tunnel 104 between the data processing system 110 and the telecommunications device and transmit data packets to the telecommunications device via the tunnel 104. The components 122-134 may receive a response from the telecommunications device based on execution of the synthetic transaction”);
As per claim 3, claim 2 is incorporated and Burghes further discloses wherein the instance of the cloud agent is configured to perform segmented routing of traffic from tenant accounts within the CSP and other CSPs of the MCN (Burghes, paragraph 0039, wherein “For example, the performance analyzer 132 may determine a first RTT associated with transmission of the data packets from the data processing system 110 to the service 109 via the client device 106 (e.g., via the tunnel 104 and the network 105). The performance analyzer 132 may determine a second RTT associated with transmission of the data packets from the data processing system 110 to the client device 106 (e.g., via the tunnel 104)”);
As per claim 4, claim 3 is incorporated and Burghes further discloses wherein the vPoP is configured to map segments of the traffic of each tenant to time division multiplexing performed by the instance of the cloud agent when scheduling the one or more probes (Burghes, paragraph 0034, wherein “The test data can indicate to perform the test based on a time interval (e.g., a pro-active test) or an event (e.g., a reactive test). For example, the time interval can indicate to perform the test at certain times of the day on certain days of the week or month. The time interval can indicate, for example, to perform a test every hour (or every 5 minutes, 10 minutes, 20 minutes, 30 minutes, 2 hours or other time interval), during the weekend (e.g., Saturdays and Sundays), or both. In some cases, the request can be from a user of the client device 106 or based on an alert from the client device 106. For example, the data processing system 110 can determine to conduct a test of the service 109 based on a schedule, trigger, event, or user instruction”);
As per claim 5, claim 1 is incorporated and Burghes further discloses wherein the tenant account is associated with one or more other CSPs, and wherein the test comprises testing the network element from the tenant account of the one or more other CSPs (Burghes, Fig 1, paragraph 0032, wherein “For example, a device (e.g., a user device) may submit an alert to the service provider 108. The alert may indicate reduced performance of the service 109 from the perspective of the user (e.g., audio of a video streaming service may be experiencing interference). The service provider 108 may determine to perform a test to identify a performance of the service 109 for the client device 106 associated with the user device (e.g., a CPE located at a residential or commercial location associated with the user device). The service provider 108 may transmit (e.g., send), to the data processing system 110 (e.g., a hardware or virtual agent, nPoint, point of presence (PoP)), a request to perform a synthetic transaction (e.g., the test) to determine the performance”);
As per claim 6, claim 1 is incorporated and Burghes further discloses wherein the output comprises one or more of an indication of a successful connection to the network element, an indication of a failed connection to the network element; route data associated with the connection to the network element in the tenant account, topology data associated with the tenant account, border gateway protocol (BGP) data, or statistical data associated with the tenant account (Burghes, paragraph 0043, wherein “The exporter 134 may comprise executable instructions that, upon execution by the processor 118, may provide (e.g., export) a notification indicative of the performance of the execution of the synthetic transaction, a report associated with the synthetic transaction, a message including the metrics for one or more synthetic transactions, or any combination thereof (e.g., generated data), to the service providers 108. For example, the exporter 134 may create an exportable file (e.g., a file with a format such as BIL, GRD/TAB, PNG, ASKII, KMZ, etc.) from the generated data and transmit the exportable file to the service providers 108”);
As per claim 7, claim 1 is incorporated and Burghes in view of Dutta further discloses wherein the status of the connection comprises a failed connection or a successful connection (Burghes, paragraph 0038-0039, wherein “The synthetic transaction manager may receive the response from the client device 106 and provide information associated with the response to the performance analyzer 132. The performance analyzer 132 may determine metrics (e.g., a round trip time (RTT), a quantity of TCP retransmissions, a quantity of timeouts, an error code, etc.) associated with the performance of the synthetic transaction based on the response”. For example, the performance analyzer 132 may determine a first RTT associated with transmission of the data packets from the data processing system 110 to the service 109 via the client device 106 (e.g., via the tunnel 104 and the network 105)”, Dutta, Fig 5-6, paragraph 0008, wherein “FIGS. 5 and 6 are example display presentations in the form of a dashboard that present a quick overview of the status of service providers' virtual data centers”; Paragraph 0017, wherein “The result of this assessment may then be presented to a service provider or some other user in the form of, e.g., a dashboard display so that the viewer of the display can quickly gain insight into the status or health of a given virtual data center”);
As per claim 8, claim 1 is incorporated and Burghes further discloses wherein the network element includes a virtual private cloud (VPC), a virtual network (VNET), a subnet, an IP address, an application, a network interface, or an instance within the tenant account (Burghes, paragraph 0027, wherein “The term “service” as used herein includes the supplying or providing of information over a network, and is also referred to as a communications network service. Examples of services 109 may include 5G broadband services, any voice, data or video service provided over a network, smart-grid network, digital telephone service, cellular service, Internet protocol television (IPTV), etc. The service 109 may further include a SaaS application, such as a word processing application, spreadsheet application, presentation application, electronic message application, file storage system, productivity application, or any other SaaS application”);
As per claim 9, claim 1 is incorporated and Burghes further discloses wherein generating the one or more probes comprises: determining based on accessing the tenant account, an unused IP address associated with a virtual private cloud (VPC), a virtual network (VNET), or a subnet; and generating the one or more probes, where the one or more probes include the unused IP address as a source address of the one or more probes (Burghes, paragraph 0033-0034, wherein “The request may include an internet protocol (IP) address of the client device 106, an indication of a type of synthetic transaction to perform, or both. For example, the request manager 122 may determine data comprising instructions for executing a test (e.g., a synthetic transaction) to simulate activity in connection with the service 109. The request manager 122 may determine the data based on the indication from the request or may access the data from the memory 120 in response to receiving the request. The test (or test data) can refer to or include a data structure or data files corresponding to the test. The test can include, for example, a script or instructions regarding types of tests to perform, when to perform the test, and what transactions or activities to simulate for the test. The test data can indicate to perform the test based on a time interval (e.g., a pro-active test) or an event (e.g., a reactive test)”, paragraph 0040, wherein “The performance analyzer 132 can create a unique identifier for the test and assign the unique identifier to the log file. For example, the performance analyzer 132 can generate the unique identifier based on one or more of the source IP address, test type identifier, or timestamp”);
Claims 10-16 are rejected under the same rationale as claims 1-9.
Claims 17-20 are rejected under 35 U.S.C. 103 as being unpatentable over Burghes (Pub. No.: US 2024/0356840) in view of LAWTON et al (Pub. No.: US 2024/0422121).
As per claim 17, Burghes discloses a method of providing an agentless end-to-end monitoring service in a network management system (NMS) of a multi-cloud network (MCN) (Burghes, Fig 1, 111a-111n), comprising: - generating virtual poin(Burghes, Fig 1, paragraph 0032, wherein “The service provider 108 may transmit (e.g., send), to the data processing system 110 (e.g., a hardware or virtual agent, nPoint, point of presence (PoP)), a request to perform a synthetic transaction (e.g., the test) to determine the performance”; wherein by inherence and at some point of time, the data processing system (virtual agent, nPoint, point of presence (PoP)) is generated); - determining a test of one or more connections associated with a tenant account, the test being performed by an instance of the cloud agent at a vPoP (Burghes, paragraph 0033-0034, wherein “The request manager 122 may determine the data based on the indication from the request or may access the data from the memory 120 in response to receiving the request. The test (or test data) can refer to or include a data structure or data files corresponding to the test. The test can include, for example, a script or instructions regarding types of tests to perform, when to perform the test, and what transactions or activities to simulate for the test. The test data can indicate to perform the test based on a time interval (e.g., a pro-active test) or an event (e.g., a reactive test)”); - receiving data associated with execution of the test by the vPoP (Burghes, paragraph 0038-0039, wherein “The synthetic transaction manager may receive the response from the client device 106 and provide information associated with the response to the performance analyzer 132. The performance analyzer 132 may determine metrics (e.g., a round trip time (RTT), a quantity of TCP retransmissions, a quantity of timeouts, an error code, etc.) associated with the performance of the synthetic transaction based on the response”. For example, the performance analyzer 132 may determine a first RTT associated with transmission of the data packets from the data processing system 110 to the service 109 via the client device 106 (e.g., via the tunnel 104 and the network 105)); and - determining a status of the tenant account based on the data; and outputting a message in association with the tenant account, the message including the status (Burghes, paragraph 0043, wherein “The exporter 134 may comprise executable instructions that, upon execution by the processor 118, may provide (e.g., export) a notification indicative of the performance of the execution of the synthetic transaction, a report associated with the synthetic transaction, a message including the metrics for one or more synthetic transactions, or any combination thereof (e.g., generated data), to the service providers 108. For example, the exporter 134 may create an exportable file (e.g., a file with a format such as BIL, GRD/TAB, PNG, ASKII, KMZ, etc.) from the generated data and transmit the exportable file to the service providers 108”, paragraph 0087, wherein “In embodiments, the status of one or more machines (e.g., 106 or 602) in the network 105 can be monitored as part of network management. In embodiments, the status of a machine can include an identification of load information (e.g., the number of processes on the machine, CPU and memory utilization), of port information (e.g., the number of available communication ports and the port addresses), or of session status (e.g., the duration and type of processes, and whether a process is active or idle). In another of these embodiments, this information can be identified by a plurality of metrics, and the plurality of metrics can be applied at least in part towards decisions in load distribution, network traffic management, and network failure recovery as well as any aspects of operations of the present solution described herein”). Burghes seems to only disclose one data processing system (vPoP) and does not explicitly disclose virtual poin. However, using a plurality of vPOPs is well known in the art. For example, LAWTON discloses a dashboard of a service provider (LAWTON, Fig 3 item 302, showing vPOP-1 and vPOP-2 wherein each every vPOP responsible for certain locations. Paragraph 0025-0026, wherein “As described herein, the vPOP system may provide geographic localization for end users, regardless of where they are located, and it may also enable the provision of dedicated per-customer egress IP addresses. System 300 includes a vPOP gateway (VGW) 302, which may be configured to perform NAT-type functionality. VGW 302 may implement such functionality based on per-region policies 304, as discussed below. Gateways such as VGW 302 may be deployed in a number of public cloud regions. In one embodiment, not every public cloud region may need its own VGW 302, as long as VGWs 302 are deployed in those regions that allow sufficiently low latency for connections”).
Therefore, it would have it would have been obvious to one ordinary skill in the art before the effective filing date of the invention to incorporate Burghes with LAWTON to achieve the claimed limitations because it would have improved the performance of the system by distributing the load over a plurality of vPOP instead of a single vPOP.
As per claim 18, claim 17 is incorporated and Burghes further discloses wherein the tenant account may comprise a user account associated with a customer of a service provider of the NMS or a service provider account of the service provider of the NMS (Burghes, paragraph 0032, wherein “For example, a device (e.g., a user device) may submit an alert to the service provider 108. The alert may indicate reduced performance of the service 109 from the perspective of the user (e.g., audio of a video streaming service may be experiencing interference). The service provider 108 may determine to perform a test to identify a performance of the service 109 for the client device 106 associated with the user device (e.g., a CPE located at a residential or commercial location associated with the user device). The service provider 108 may transmit (e.g., send), to the data processing system 110 (e.g., a hardware or virtual agent, nPoint, point of presence (PoP)), a request to perform a synthetic transaction (e.g., the test) to determine the performance”);
As per claim 19, claim 17 is incorporated and Burghes further discloses determining, based on the data and additional data associated with the tenant account across cloud service providers (CSPs) of the MCN, a recommendation of one or more additional tests and one or more conditions for executing the one or more additional tests to apply to the tenant account; receiving, from a user of the tenant account, acceptance of the recommendation; monitoring the tenant account across the CSPs; and automatically performing the one or more additional tests when the one or more conditions are met (Burghes, paragraph 0034, 0037, wherein “The test (or test data) can refer to or include a data structure or data files corresponding to the test. The test can include, for example, a script or instructions regarding types of tests to perform, when to perform the test, and what transactions or activities to simulate for the test. The test data can indicate to perform the test based on a time interval (e.g., a pro-active test) or an event (e.g., a reactive test). For example, the time interval can indicate to perform the test at certain times of the day on certain days of the week or month. The time interval can indicate, for example, to perform a test every hour (or every 5 minutes, 10 minutes, 20 minutes, 30 minutes, 2 hours or other time interval), during the weekend (e.g., Saturdays and Sundays), or both. In some cases, the request can be from a user of the client device 106 or based on an alert from the client device 106. For example, the data processing system 110 can determine to conduct a test of the service 109 based on a schedule, trigger, event, or user instruction”, “In some cases, a user or operator of the data processing system 110 or client device 106 can select the type of test to perform from a set of tests stored in test data. The client device 106 may handle the data packets in a similar manner to local traffic and route the data packets to a destination associated with the service 109 via the network 105”);
As per claim 20, claim 17 is incorporated and Burghes further discloses wherein the message comprises an alert associated with a failure of the one or more connections, an indication of success of the one or more connections, a recommendation of one or more rule or one or more additional tests (Burghes, paragraph 0032, wherein “For example, a device (e.g., a user device) may submit an alert to the service provider 108. The alert may indicate reduced performance of the service 109 from the perspective of the user (e.g., audio of a video streaming service may be experiencing interference). The service provider 108 may determine to perform a test to identify a performance of the service 109 for the client device 106 associated with the user device (e.g., a CPE located at a residential or commercial location associated with the user device). The service provider 108 may transmit (e.g., send), to the data processing system 110 (e.g., a hardware or virtual agent, nPoint, point of presence (PoP)), a request to perform a synthetic transaction (e.g., the test) to determine the performance”);
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to HAMZA N ALGIBHAH whose telephone number is (571)270-7212. The examiner can normally be reached 7:30 am - 3: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, Ario Etienne can be reached on ario.etienne@uspto.gov. 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.
/HAMZA N ALGIBHAH/ Primary Examiner, Art Unit 2457