DETAILED ACTION
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 December 02, 2025 has been entered.
Response to Amendment
This Non-Final Office Action is in response to the applicant’s remarks and arguments filed on June 24, 2025.
Claims 1, 8 and 15 were amended.
Claims 1-20 remain pending in the application. Claims 1-20 are being considered on the merits.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION. —The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 1-20 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor, or for pre-AIA the applicant regards as the invention.
As per claim 1, line 11-12, the recited features “the execution order”, “the key items” lacks antecedent basis. It’s not clearly understood which “execution order” and “key items” the applicant is referring to.
As per claim 8, lines 15-17 , the recited features “the execution order”, “the key items” lacks antecedent basis. It’s not clearly understood which “execution order” and “key items” the applicant is referring to.
As per claim 15, lines 14-16, the recited features “the execution order”, “the key items” lacks antecedent basis. It’s not clearly understood which “execution order” and “key items” the applicant is referring to.
Dependent claims 2-7, 9-14, and 16-20 are affected by the rejection of claims above.
Appropriate correction is required.
Response to Arguments
Claim Rejections - 35 USC 103:
Applicant argues that:
“Claim 1 has been amended to recite, inter alia, 'facilitating a same service to be called two or more times based on determining the execution order according to rules considering the key items of the service." These features, which are incorporated into dependent claims 2-7 by virtue of their dependency on claim 1, are not taught or suggested by Bowman-Amoah, Yamamoto, Daniel, and/or Casassa (whether considered individually or in combination)." .
In response, Maria Pia Fanti “Deadlock Control Methods in Automated Manufacturing Systems”, JANUARY 2004” is added only as directly corresponding evidence to support the prior common knowledge finding as stated above.” (emphasis added).
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 1, 8 and 15 are rejected under 35 U.S.C. 103 as being unpatentable over BOWMAN-AMOAH, Michel, K. et al “SYSTEM, METHOD, AND ARTICLE OF MANUFACTURE FOR A REQUEST SORTER IN A TRANSACTION SERVICES PATTERNS ENVIRONMENT” , WO 01/16704, Publication Date International Publication Number 8 March 2001) in view of Maria Pia Fanti “Deadlock Control Methods in Automated
Manufacturing Systems”, JANUARY 2004, Maria hereinafter).
As to claim 1, Bowman teaches a computer-implemented method for preventing deadlocks (e.g., see page 607, “use the same sorting rules for preventing deadlocks.” ) when calling a plurality of web services in a single transaction (e.g., see page 218 , “Web Services 2820) Web Server Services enable organizations to manage and publish information “, “ services support the following: Managing documents in most formats such as HTML, Microsoft Word, etc. Handling of client requests for HTML pages. “ for “Transaction Partitioning Services provide support for mapping a single logical transaction in an application into the required multiple physical transactions. For example, in a package or legacy rich environment, the single logical transaction of changing a customer address may require the partitioning and coordination of several physical transactions to multiple application systems or databases. Transaction Partitioning Services provide the application with a simple single transaction view.” in page 201), the computer-implemented method comprising:
receiving, by one or more processors (e.g., “transaction processor system”, FIG. 176 coupled with “client/server” in page 187 , therefore one or more processors ), a list of service definitions (e.g., “client requests”) from a client to call ( e.g., “Call 1”, “Call2 “, client, FIG. 102) as one unit of work (UOW) ( e.g., see FIG. 98, “CLIENT” making “REQUEST FIRST PAGE”, “REQUEST NEXT PAGE”, page 128, “Handling of client requests for HTML pages. A Web browser initiates an HTTP request to the Web server either specifying the HTML document to send back to the browser or the server program ( e.g., CGI, ASP) to execute. “ and “the client may need to interact with a number of server
components. From the user's perspective, one unit of work is being performed but it may involve multiple, discrete interfaces and multiple server invocations”, “Transaction Partitioning Services provide support for mapping a single logical transaction in an application into the required multiple physical transactions. For example, in a package or legacy rich environment, the single logical transaction of changing a customer address may require the partitioning and coordination of several physical transactions to multiple application systems or databases. Transaction Partitioning Services provide the application with a simple single transaction view.” in page 201 and 498 . Thus, receiving, by one or more processors, a list of service definitions from a client to call as one unit of work (UOW)) ,
sorting, by the one or more processors, the list into an order list based on operations comprising applying predetermined sorting rules (e.g., see page 607 “Figure 188 illustrates a flowchart for a method 18800 for sorting requests that are being unhatched from a batched message. A group of business objects necessary for a transaction are provided in operation 18802. Logically-related requests received from the business objects are grouped in operation 18804. Sorting rules and/or sort weights are obtained in operation 18806 and, in operation 18808, the requests in the message are sorted and placed in a specific order determined from the sorting rules and/or the sort weights. The sorted requests are batched into a single message which is sent to a data server where the requests are unbundled from the message in the specific order (see operations 18810, 18812, and 18814).
A request may also not be allowed to proceed until all dependent requests are completed. A plurality of transactions may each use the same sorting rules for preventing deadlocks. Optionally, the class represented by each request may be determined so that the sorting rules may be based on a class type. As another option, the sorting rules may include referential integrity rules which ensure that references between two relational tables are valid. In such a situation, a linear ordering of requests may also be created based on the referential integrity
rules. The numbering of the position of the request in the linear ordering may also be the weight of that request so that requests with lower weights are processed before requests with higher weights. In an update transaction, order requests for referential integrity and deadlock avoidance.),
sending, by the one or more processors, the order list to the client for client execution (e.g., see FIG. 116, “REQUESTING THE TOTAL AMOUNT OF DATA FROM A SERVER OVER A NETWORK IN A SINGLE CALL”, “BUNDLING ALL OF THE DATA INTO A DATA STRUCTURE BY THE SERVER IN RESPONSE TO THE SINGLE CALL”, “CACHING THE DATA OF THE DATA STRUCTURE ON THE CLIENT”, “USING THE CACHED DATA OF THE DATA STRUCTURE AS NEEDED DURING EXECUTION OF THE APPLICATION ON THE CLIENT” and FIG. 188, SENDING THE MESSAGE TO A DATA SERVER 18812”, “UNBUNDLING THE REQUESTS FROM THE MESSAGE IN THE SPECIFICORDER 18814”, page 594, “responses to the requests may be received and the responses may be bundled into a reply” and “the HTML document to send back to the browser or the server program ( e.g., CGI, ASP) to execute.” in page 218, see FIG. 40. Thus, the HTML document to send back to the browser to execute”, therefore sending, by the one or more processors, the order list to the client for client execution).
However, Bowman does not teach unifying orders of exclusion in the UOW by performing processing in a unified order; a standardized order list, sending the standardized order list and facilitating a same service to be called two or more times based on determining the execution order according to rules considering the key items of the service.
Maria teaches unifying orders of exclusion in the UOW by performing processing in a unified order (e.g., see page 6, “i) “mutual exclusion,” i.e., tasks claim exclusive control of the resource they require”, concurrently running processes requiring resource sharing”, “the use of resources is supposed to be sequential, i.e., each process has to acquire resources in a predefined or partially predefined order” and tq(0) denotes the arrival of an order to execute a job” in page 13, see Fig. 6).
According to applicant’s specification in para [0020] performing exclusive processing in a unified order among all programs trying to use a service “.Thus, the unifying orders of exclusion in the UOW by performing processing in a unified order ); a standardized order list (e.g., see FIG. 6, “P1(0), P2 (1), P1(2), P1 (3) ) for “a resource order (RO) deadlock avoidance policy”, “the policy orders the machines and each part is categorized according to how it flows with respect to that order” and “The deadlock avoidance policy is defined as a resource allocation policy [restriction policy (RP)] “, “To apply this RP, “one production sequence” in see page 11 and 13 ), sending, the standardized order list to a client for client execution (e.g., see FIG. 6, pages 13 and 14, wherein “to avoid deadlock, it is sufficient to guarantee that each operation be performed in finitely many times”, “to ensure that the CPPN is live under a control policy and an initial marking”, “all the jobs in the system to complete” for the “Workstation”. Thus, sending, the standardized order list to a client for client execution); and
facilitating a same service to be called two or more times based on determining the execution order according to rules considering the key items of the service (e.g.,. see page 13, “Tokens in represent -type jobs waiting for their processing; those in indicate completed orders; and those in , give the currently processed jobs in the th step. denotes the arrival of an order to execute a job for product ; firing indicates the completion of a -type job; and firing , means that a -type job makes transition from the th production step to the th step. The deadlock avoidance policy is defined as a resource allocation policy [restriction policy (RP)] that selects the enabled transitions to fire” and “the interaction between jobs and resources.”, “policy for deadlock avoidance” , see pages 15 and 17 FIGs. 7 and 8. Thus, the “Tokens in represent -type jobs” represents the key items of the service , the “restriction policy (RP ) represents the rules for “interaction between jobs and resources” therefore , facilitating a same service to be called two or more times based on determining the execution order according to rules considering the key items of the service).
Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Bowman with those of Maria because both references are directed to related systems addressing similar technical problems within the same field and seek to improve system performance, reliability, and efficiency.
Bowman et al. disclose preventing deadlocks when calling a plurality of web services in a single transaction while Maria et al. teaches unifying orders of exclusion in the UOW by performing processing in a unified order; sorting, by the one or more processors, the list into a standardized order list based on operations comprising applying predetermined sorting rules.
Incorporating the teachings of Maria et al. into the system of Bowman et al. would have been a predictable and logical modification, yielding improved operational robustness and efficiency without requiring undue experimentation.
Such a combination would merely involve the substitution or integration of known elements performing their established functions, as taught by Maria et al., into the system of Bowman et al., consistent with design incentives and market demands for improved performance and scalability. Moreover, Maria et al. explicitly recognize benefits to provide “robustness of relevant deadlock resolution strategies with respect to unreliable resource failures” (see Maria, in VII. CONCLUSIONS) . —that would naturally be desirable in the system of Bowman et al.
Accordingly, to one of ordinary skill in the art would have had a reasonable expectation of success in combining Bowman et al. with Maria et al., and the combination represents no more than the predictable use of prior art elements according to their known functions.
As to claim 8, see rejection of claim 1 above. Bowman teaches further a computer program product, the computer program product comprising: one or more non-transitory computer readable storage media and program instructions stored on the one or more non-transitory computer readable storage media, the program instructions comprising: program instructions to ( see page 20 “preferred embodiment of a system in accordance with the present invention is preferably practiced in the context of a personal computer such as an IBM compatible personal computer, Apple Macintosh computer or UNIX based workstation. A representative hardware environment is depicted in Figure 1, which illustrates a typical hardware configuration of a workstation in accordance with a preferred embodiment having a central processing unit 110, such as a microprocessor, and a number of other units interconnected via a system bus 112. The workstation shown in Figure 1 includes a Random Access Memory (RAM) 114, Read Only Memory (ROM) 116, an 1/0 adapter 118 for connecting peripheral devices such as disk storage units 120 to the bus 112, a user interface adapter 122 for connecting a keyboard 124, a mouse
126, a speaker 128, a microphone 132, and/or other user interface devices such as a touch screen (not shown) to the bus 112, communication adapter 134 for connecting the workstation to a 15 communication network ( e.g., a data processing network) and a display adapter 136 for connecting the bus 112 to a display device 138. The workstation typically has resident thereon an operating system such as the Microsoft Windows NT or Windows/95 Operating System (OS), the IBM OS/2 operating system, the MAC OS, or UNIX operating system. Those skilled in the art will appreciate that the present invention may also be implemented on platforms and 20 operating systems other than those mentioned. Thus, a computer program product, the computer program product comprising: one or more non-transitory computer readable storage media and program instructions stored on the one or more non-transitory computer readable storage media, the program instructions comprising: program instructions to would have been inherent).
As to claim 15, see rejection of claim 1 above. Bowman teaches further computer system the computer system comprising: one or more computer processors; one or more non-transitory computer readable storage media; and program instructions stored on the one or more non-transitory computer readable storage media, the program instructions comprising: program instructions (( see page 20 “preferred embodiment of a system in accordance with the present invention is preferably 5 practiced in the context of a personal computer such as an IBM compatible personal computer, Apple Macintosh computer or UNIX based workstation. A representative hardware environment is depicted in Figure 1, which illustrates a typical hardware configuration of a workstation in accordance with a preferred embodiment having a central processing unit 110, such as a
microprocessor, and a number of other units interconnected via a system bus 112. The 10 workstation shown in Figure 1 includes a Random Access Memory (RAM) 114, Read Only Memory (ROM) 116, an 1/0 adapter 118 for connecting peripheral devices such as disk storage units 120 to the bus 112, a user interface adapter 122 for connecting a keyboard 124, a mouse
126, a speaker 128, a microphone 132, and/or other user interface devices such as a touch screen (not shown) to the bus 112, communication adapter 134 for connecting the workstation to a 15 communication network ( e.g., a data processing network) and a display adapter 136 for connecting the bus 112 to a display device 138. The workstation typically has resident thereon an operating system such as the Microsoft Windows NT or Windows/95 Operating System (OS), the IBM OS/2 operating system, the MAC OS, or UNIX operating system. Those skilled in the art will appreciate that the present invention may also be implemented on platforms and 20 operating systems other than those mentioned. Thus, A computer system the computer system comprising: one or more computer processors; one or more non-transitory computer readable storage media; and program instructions stored on the one or more non-transitory computer readable storage media, the program instructions comprising: program instructions would have been inherent).
Claim(s) 2-4, 6 , 9-11, 13 and 16-18 are rejected under 35 U.S.C. 103 as being unpatentable over BOWMAN-AMOAH, Michel, K. et al “SYSTEM, METHOD, AND ARTICLE OF MANUFACTURE FOR A REQUEST SORTER IN A TRANSACTION SERVICES PATTERNS ENVIRONMENT” , WO 01/16704, Publication Date International Publication Number 8 March 2001) in view of Maria Pia Fanti “Deadlock Control Methods in Automated Manufacturing Systems”, JANUARY 2004, Maria hereinafter) , as applied to claims 1, 8 and 15 above, and further in view of Casassa Mont et al. (US 2028/0375953, Casassa hereinafter).
As to claim 2, Bowman does not explicitly teach wherein the operations further comprise:. receiving, by the one or more processors, a plurality of host names, normalizing, by the one or more processors, the plurality of host names; creating, by the one or more processors, an aggregated list of host names based on the plurality of host names; and including, by the one or more processors, the aggregated list of host names in the sorting . However, Maria teaches further the list into the standardzed order list ( see rejection of claim 1 above ). Casassa teaches receiving a plurality of host names (e.g., see FIG. 6, para 67, “receive a service request that includes an identifier for a particular networked device in a sub-network among a plurality of sub-networks that are partitioned from a network (operation 610)” for “an IP address and/or hostname associated with a particular networked device vary over a predefined time” in para 63) ; normalizing, by the plurality of host names (e.g., para 63, “analytical engine 530 can generate new metadata that records the very first appearance of a particular networked device in the network based on a unique MAC address that was not previously detected in the network. Also, analytical engine 530 can generate statistics on how often an IP address and/or hostname associated with a particular networked device vary over a predefined time period”) ; creating, by the one or more processors, an aggregated list of host names based on the plurality of host names (e.g., para 67, “The network device then aggregates partial networked device profiles corresponding to the particular networked device from other network devices in at least at least one sub-networks unreachable by the service request to generate a networked device profile (operation 620). The networked device profile is stored in at least one caches, including but not limited to, a real-time cache and/or a historical database.”, [0047] Network device profiler 370 is described in details in the section below with reference to FIG. 5. It shall be noted that network device profiler 370 includes an analytical engine that, besides the aggregation of {IP address, MAC address, hostname} information, can add any types of metadata to a device profile, e.g., by carrying out data correlations and inferences. This metadata support for data correlations and inferences not only applies to analytical functionalities, but also applies to information stored in the real-time cache or historical database.) ; and including, the aggregated list of host names (e.g., para 77 “the network device instructs a workflow engine to initiate real-time data collection requests, and then aggregates attributes extracted from responses to the real-time data collection requests. Further, the network device can derive the persistent network identity from the aggregated attributes, and store the persistent network identity in the first cache memory storing real-time networked device profile information.” .
Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to further modify the method of Bowman and Maria by adopting the teachings of Casassa in order allow “ The bulk data functionality enhances user interactions and reduces the number of web requests. ” (see Casassa , para 71).
As to claim 3, Bowman does not teach receiving, by the one or more processors, a plurality of service endpoint names; normalizing, by the one or more processors, the plurality of service endpoint names; creating, by the one or more processors, an aggregated list of service endpoint names based on the plurality of service endpoint names; and including, by the one or more processors, the aggregated list of service endpoint names in the sorting. However, Maria teaches further aggregated list of service endpoint names in the sorting ( see FIG. 6, rejection of claim 1 above ) . Casassa teaches receiving, by the one or more processors, a plurality of service endpoint names (e.g., see FIG. 2, para [0029] Log 200 in FIG. 2 is an example partial networked profile collected by a variety of data collection tools. In this example, log entry 240 includes an IP address of 192.168.1.8 and a hostname of SVC. However, log entry 240 does not include a corresponding MAC address for the respective networked device. Similarly, log entry 250 includes a hostname of SVC and a MAC address of 00-25-42-E7-E9-E5. However, log entry 250 does not include a corresponding IP address for the respective networked device. Moreover, log entry 260 includes an IP address of 192.168.2.10 and a MAC address of 00-C0-9F-A1-9D-4A.), normalizing, by the one or more processors, the plurality of service endpoint names (para [0033] Further, a networked device profile may also include additional metadata. This metadata can include any sort of additional information, for example, the very first appearance of a particular networked device in the network (e.g. based on MAC address); statistics on variability of the IP addresses and host names associated with a particular networked device over a predefined time period, the geo-locations associated with a particular networked device in a predefined time period (by correlating against a geo-database), etc. As such, beyond aggregated data from collected diverse data, the networked device profile is also built based on inferred data by using analytical modules provided by the online device profiling service.
Thus, normalizing, by the one or more processors, the plurality of service endpoint names) ; creating, by the one or more processors, an aggregated list of service endpoint names based on the plurality of service endpoint names (e.g., para 44, wherein “ IP-MAC address data collector 380 then aggregates the collected IP address and/or MAC address information and returns the results to data collection manager 375.”. Thus creating, by the one or more processors, an aggregated list of service endpoint names based on the plurality of service endpoint names) ; and including, by the one or more processors, the aggregated list of service endpoint names (e.g., para 44, “ IP-MAC address data collector 380 then aggregates the collected IP address and/or MAC address information and returns the results to data collection manager 375. “ and [0047] Network device profiler 370 is described in details in the section below with reference to FIG. 5. It shall be noted that network device profiler 370 includes an analytical engine that, besides the aggregation of {IP address, MAC address, hostname} information, can add any types of metadata to a device profile, e.g., by carrying out data correlations and inferences. This metadata support for data correlations and inferences not only applies to analytical functionalities, but also applies to information stored in the real-time cache or historical database.) .
Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to further modify the method of Bowman and Maria by adopting the teachings of Casassa in order allow “ The bulk data functionality enhances user interactions and reduces the number of web requests. ” (see Casassa , para 71).
As to claim 4, Bowman teaches further wherein one or more of the predetermined sorting rules (see rejection of claim 1 above) . However, Bowman and Maria do not teach host names, and service endpoint names are written to a flat file to archive or reuse. Casassa teaches the host names, and service endpoint names are written to a flat file to archive or reuse (e.g. para [0027] MAC address 230 generally refers to a unique identifier assigned to network interfaces for communications on the physical network segment. MAC addresses are most often assigned by the manufacturer of a network interface controller (NIC) and are stored in its hardware, such as the card's read-only memory or some other hardware. However, a networked device may have multiple NICs, and thus each NIC has its unique MAC address. Thus, the “MAC addresses”, “are stored in its hardware”, “read-only memory”, therefore wherein one or more of the predetermined sorting rules, host names, and service endpoint names are written to a flat file to archive or reuse Casassa teach wherein one or more of the predetermined sorting rules, host names, and service endpoint names are written to a flat file to archive or reuse.). Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to further modify the method of Bowman and Maria by adopting the teachings of Casassa to have wherein one or more of the predetermined sorting rules, host names, and service endpoint names are written to a flat file to archive or reuse in order allow “ The bulk data functionality enhances user interactions and reduces the number of web requests. ” (see Casassa , para 71).
As to claim 6, Bowman and Maria do not teach wherein the command comprises a method name. However, Casassa taches wherein the command comprises a method name (e.g., para 39 and 44 “pulling APIs, publisher/subscriber APIs”, “Web server 365 provides web services to data consumers 300.” . Thus, pulling APIs, publisher/subscriber APIs are well-known to include the command comprises a method name ) .
Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to further modify the method of Bowman and Maria by adopting the teachings of Casassa to have in order allow “ The bulk data functionality enhances user interactions and reduces the number of web requests. ” (see Casassa , para 71).
As to claims 9-11, 13, see rejection of claims 2-4 and 6 above.
As to claims 16-18 see rejection of claims 2-4 above.
Claim(s) 5, 12 and 19 are rejected under 35 U.S.C. 103 as being unpatentable over BOWMAN-AMOAH, Michel, K. et al “SYSTEM, METHOD, AND ARTICLE OF MANUFACTURE FOR A REQUEST SORTER IN A TRANSACTION SERVICES PATTERNS ENVIRONMENT” , WO 01/16704, Publication Date International Publication Number 8 March 2001) in view of Maria Pia Fanti “Deadlock Control Methods in Automated Manufacturing Systems”, JANUARY 2004, Maria hereinafter) , as applied to claims 1, 8 and 15 above, and further in view of Casassa Mont et al. (US 2028/0375953, Casassa hereinafter) and Yamamoto et al. (US 2007/0226222, Yamamoto hereinafter) .
As to claim 5, Bowman, Maria do not explicitly teach wherein the service definition comprises an identification number of a web service, a group number of the web service, a call Hypertext Transfer Protocol (HTTP) method name of the web service, an HTTP endpoint definition of the web service and a command associated with calling the web service. However, Casassa teaches further a call Hypertext Transfer Protocol (HTTP) method name of the web service, an HTTP endpoint (e.g., “IP-MAC address data collector 380 collects the IP address and MAC address of the networked device”, “IP address, MAC address, hostname, metadata” ) definition of the web service and a command (e.g., “pulling APIs, publisher/subscriber APIs”, “Web server 365 provides web services to data consumers 300.” . Thus, a call Hypertext Transfer Protocol (HTTP) method name of the web service, an HTTP endpoint definition of the web service and a command ) associated with calling the web service (e.g., e.g., para [0039] API 360 provides an interface for data consumers 300 to communicate with device profiling service 350. Different types of APIs are supported by API 360, including but not limited to, pulling APIs, publisher/subscriber APIs, etc. Web server 365 provides web services to data consumers 300. Communication manager 372 handles API communications in general. Communication manager 372 includes at least a notification handler component, which handles publisher-subscriber communications in particular. According to the present disclosure, device profiling service 350 communicates with two storage systems that respectively store current information available for networked devices (e.g., IP address, MAC address, hostname, metadata, etc.) and historical information available for networked devices. Particularly, note that the two storage systems include additional analytical metadata information associated with networked devices over time. The content of the storage systems can be accessed via web services or web APIs. In particular, the networked device profiles and device identification information (e.g., persistent device identities) can be retrieved via web API 360, which accesses and returns either current cached information or historical information based on the needs of data consumers 300.
[0044] Specifically, for each reachable networked device, IP-MAC address data collector 380 collects the IP address and MAC address of the networked device by using Simple Network Management Protocol (SNMP). IP-MAC address data collector 380 relies on the widely adopted SNMP agents deployed within network components, such as, routers, switches, firewalls, etc. An SNMP manager in IP-MAC address data collector 380 communicates securely with the SNMP agents deployed in local network components and collects the IP address and MAC address of networked devices from their local Management Information Bases (MIBs), The SNMP manager can poll the local SNMP agents by using community identification keys, e.g., by using ipNetToPhysicalPhysAddress or ipNetToMediaPhysAddress to poll for the IP address and/or MAC address of networked devices. IP-MAC address data collector 380 then aggregates the collected IP address and/or MAC address information and returns the results to data collection manager 375”) .
Yamamato teaches wherein the service definition comprises an identification number of a web service(e.g., “service name”), a group number (e.g., para 144, “specifies the service name of the partition including the observed node in the service field of the added line.”) of the web service (e.g., para [0160]… the second service interface definition generation block 160 sorts the lines of the service interface definition by service name. The interfaces having the same service name are grouped. Then, the second service interface definition generation processing ends.
[0144]… The interfaces having the same service name are grouped. Then, the first service interface definition generation processing ends.).
Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the method of Bowman, Maria and Casassa by adopting the teachings of Yamamoto in order allow “ developer to recognize any inappropriate function group in the business process flow”, “ to provide appropriate function classifications” (see Yamamoto , para 71).
As to claims 12 and 19 , see rejection of claim 5 above.
Claim(s) 7 , 14 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over BOWMAN-AMOAH, Michel, K. et al “SYSTEM, METHOD, AND ARTICLE OF MANUFACTURE FOR A REQUEST SORTER IN A TRANSACTION SERVICES PATTERNS ENVIRONMENT” , WO 01/16704, Publication Date International Publication Number 8 March 2001) in view of Maria Pia Fanti “Deadlock Control Methods in Automated Manufacturing Systems”, JANUARY 2004, Maria hereinafter) , as applied to claims 1, 8 and 15 above, and further in view of Yamamoto et al. (US 2007/0226222, Yamamoto hereinafter) .
As to claim 7, Bowman and Maria do not teach wherein the sorting is based on parameters comprising at least one of one or more standardized host names, one or more standardized application programming interface (API) endpoint names based on an associated URL path, one or more HTTP method names, path parameters in an associated API endpoint name or query parameters. However, Yamamoto teaches at least one of one or more standardized host names (e.g., para 160, “ sorts the lines of the service interface definition by service name. The interfaces having the same service name are grouped. Then, the second service interface definition generation processing ends”) , one or more standardized application programming interface (API) endpoint names based on an associated URL path, one or more HTTP method names, path parameters in an associated API endpoint name or query parameters .
Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to further modify the method of Bowman and Maria by adopting the teachings of Yamamoto in order allow “ developer to recognize any inappropriate function group in the business process flow”, “ to provide appropriate function classifications” (see Yamamoto , para 71).
As to claims 14 and 20 , see rejection of claim 7 above.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Leen et al. (US 10,768,905) discloses methods, and apparatuses for implementing schema-driven on-the-fly code generation within a cloud based computing environment. For instance, an exemplary system having at least a processor and a memory therein includes means for: designing an application having a plurality of method calls to perform functionality for the application; defining at least one of the plurality of method calls as a web service identified by a web service URL; retrieving a schema for the web service via the web service URL; parsing the schema to identify a plurality of methods provided by the web service and generating a list of all the methods for the web service; persisting the list of all the methods for the web service in a database system communicably interfaced with the system; exposing a class corresponding to each one of the plurality of methods provided by the web service, the exposed classes referencing the methods persisted in the database system; loading all classes required by the application including any of the exposed classes corresponding to the plurality of methods provided by the web service referenced by the application; and executing the application, in which any call to one of the plurality of methods provided by the web service includes initiating a network call to invoke the web service. Other related embodiments are disclosed.
Hernan et al. (US 2020/0142674) discloses methods for extracting web API endpoint data from source code. Source code for various web services may be accessed. The source code may include portions of web Application Programming Interface (API) endpoint data that includes data necessary to invoke the underlying API. The source code may be automatically parsed to identify the portions of web API endpoint data. The identified portions of web API endpoint data may be translated into a format different from the source code that is usable by various applications that interact with the web services via the web API endpoint data. .
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ABDOU K SEYE whose telephone number is (571)270-1062. The examiner can normally be reached M-F 9-5:30.
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, Pierre Vital can be reached at 5712724215. 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.
/ABDOU K SEYE/Examiner, Art Unit 2198
/PIERRE VITAL/Supervisory Patent Examiner, Art Unit 2198