Prosecution Insights
Last updated: July 17, 2026
Application No. 18/456,863

CONFIGURABLE INTEGRATION INFRASTRUCTURE SERVICE IN SOFTWARE ARCHITECTURE

Final Rejection §103
Filed
Aug 28, 2023
Examiner
SUN, ANDREW NMN
Art Unit
2195
Tech Center
2100 — Computer Architecture & Software
Assignee
Skayl LLC
OA Round
2 (Final)
50%
Grant Probability
Moderate
3-4
OA Rounds
7m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 50% of resolved cases
50%
Career Allowance Rate
4 granted / 8 resolved
-5.0% vs TC avg
Strong +100% interview lift
Without
With
+100.0%
Interview Lift
resolved cases with interview
Typical timeline
3y 6m
Avg Prosecution
24 currently pending
Career history
47
Total Applications
across all art units

Statute-Specific Performance

§103
100.0%
+60.0% vs TC avg
Black line = Tech Center average estimate • Based on career data from 8 resolved cases

Office Action

§103
DETAILED ACTION Claims 1-20 are pending. Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Response to Arguments Applicant’s arguments with respect to the 35 U.S.C. 103 rejections (Remarks pp. 8-12) have been fully considered but are considered unpersuasive. 1. Applicant argues: PNG media_image1.png 103 629 media_image1.png Greyscale PNG media_image1.png 103 629 media_image1.png Greyscale The Examiner respectfully disagrees. a. Siebeking’s translation framework includes “information about data types produced and consumed by each of the plurality of controllers connected to the network”. Siebeking discloses, “The translation framework can store annotations to a metadata model in the form of custom metadata types. The custom metadata types can be used by one or both of the target application and a source application. Source applications can cause values to be stored for annotations they support. Target applications can read values for annotations they support,” ¶ 0005. It can be seen that the metadata types are produced (stored) and consumed (read) by the source application and target application, respectively, where both applications are connected to the translation framework in order for this to happen. Since the translation framework stores the custom metadata types, it can also be considered a data model. Furthermore, regarding Applicant’s comments of Siebeking ‘implicitly’ teaching querying for information about the network and controllers, the Examiner’s response is that Siebeking is not solely relied upon for the teaching. Instead, the Examiner explicitly relies on reference Galanis (Pages 7-8 of Non-Final Rejection) for the same limitations. b. Furthermore, added reference Ahmad (US 20060248104 A1) is used in combination with the existing references used in the previous rejection of Claim 1 to address the amended limitation “determining, by the first controller, a data transformation to convert between the second data type and the first data type based at least in part on information received in response to the querying of the data model”, rendering the associated argument moot. 2. Applicant argues: PNG media_image2.png 564 630 media_image2.png Greyscale The Examiner respectfully disagrees. Galanis is relied upon as a reference to address the limitation “information about the network and the plurality of controllers connected to the network” ( Galanis discloses, “A catalog service in a large distributed system can be used to determine which nodes should receive queries based on query content,” Page 1, and “The DHTs have very desirable characteristics. Their goal is to provide the efficient location of data items in a very large and dynamic distributed system without relying on any centralized infrastructure. Thus, given a key, the corresponding data item can be efficiently located using only O(logn) network messages ([22], [25]) where n is the total number of nodes in the system,” Page 2. Galanis teaches information about a network and nodes connected to the network, with identifiers for each node.). Galanis’s nodes also do consume and produce data on a communication network ( Galanis discloses, “Note a fine distinction between the data summaries provided to the system by a data source Ns and the summaries actually stored on some other node Nc in the system. Conceptually, Nc receives a set {(kj, Sij)} from the other nodes in the system. However, it is not required to store each Sij as provided by the data source. Nc can store the summary information however it desires, but should not degrade its accuracy or otherwise change its content,” Pages 3-4. Here, it can be seen that nodes send data to other nodes, and that nodes also receive data from other nodes. After the combination of Siebeking with Galanis, this data would be typed data as specified by Siebeking.). As stated above, Siebeking already teaches that its translation framework contains information about the data types produced and consumed by each controller, in the form of custom metadata types. Siebeking also already teaches querying a data model for information about the data types produced and consumed by each controller (“A request is received from a third software application, which can be the first software application or the second software application, for one or more metadata element types of the at least one metadata model,” ¶ 0008.). After the combination of Siebeking with Galanis, said information that is queried now explicitly includes information about the network and plurality of controllers connected to the network as specified by Galanis, and a second controller is identified in response to this query. 3. Applicant argues: PNG media_image3.png 493 630 media_image3.png Greyscale The Examiner respectfully disagrees. Popovski is relied upon to address the narrow issue of reconfiguring a communication protocol for communicating between controllers. According to MPEP 2141.01(a), Popovski is reasonably pertinent to the problem addressed in the application – reconfiguring a communication protocol to transform data from one data type into another, in order to send the data from one controller to another – because both Popovski and Siebeking similarly involve separate nodes or controllers communicating by sending data over a network, and the reconfiguring being done to ensure reliable communication between the nodes/controllers (Popovski discloses, “In a certain legacy wireless system that features multiple communication nodes and/or two-way communication between nodes, all nodes may transit to operate in a robust manner and communicate with each other reliably by using the methods proposed in this invention,” ¶ 0072.). One can also consider the data transmitted in Popovski, under the different communication protocols, to be of different data types (“a first protocol for communicating having a first error rate threshold and a fixed data rate, and a second protocol for communicating having a second error rate threshold being higher than the first error rate threshold and a non-fixed data rate,” ¶ 0008.), because the data being sent under each protocol falls under a different format, akin to HLS (HTTP Live Streaming) or MPEG-DASH. 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, 4-8, 11-15, and 18-20 are rejected under 35 U.S.C. 103 as being unpatentable over Siebeking (US 20200201865 A1) in view of Galanis (“Locating Data Sources in Large Distributed Systems”), Popovski (US 20140185579 A1), and Ahmad (US 20060248104 A1). Regarding Claim 1, Siebeking teaches a method, comprising: initializing, by a first controller, a connection to a network, wherein a plurality of controllers are connected to the network, and wherein the first controller is configured to process a first data type ( PNG media_image4.png 454 874 media_image4.png Greyscale Siebeking discloses, “FIG. 1 is a block diagram illustrating an example computing environment 100 in which disclosed technologies can be implemented. In the computing environment 100, a central or common computing system 110 may act as a server in communication with a plurality of client, or remote, computing systems or devices 118. The central system 110 and the client systems 118 can communicate using any suitable method. Typically, at least some of the client system 118 are connected to the central system 110 over a network connection, such as a TCP/IP connection or using another networking protocol,” ¶ 0039, and “FIG. 2 illustrates how a source application 212 of a first computing system 208 and a target application 220 of a second computing system 216 can communicate via a framework 204. The source application 212 can store metadata in a first, source metadata format 228,” ¶ 0044, and “The target application 220 can store metadata in a second, target metadata format 238, including having metadata elements for a second metadata schema 240 (which, in some cases, can overlap, or be equivalent to, the first metadata schema 232),” ¶ 0045. The claimed “plurality of controllers” is mapped to the applications, which are controlling software, on the “plurality of client, or remote, computing systems or devices 118” that process metadata of certain types. The claimed “data type” is mapped to the disclosed format type of the “metadata”, as each application may store different metadata in different formats.); querying, by the first controller, a data model for information , including metadata models, to facilitate sharing data with the plurality of controllers ( PNG media_image5.png 502 846 media_image5.png Greyscale Siebeking discloses, “FIG. 13 is a flowchart of a method of requesting a metadata model in a standard format from a translation framework,” ¶ 0023, “The framework 320 can include a metadata service 358. The metadata service 358 can process requests for metadata from the target application 324,” ¶ 0055, and “In some cases, a data source is associated with a system that serves as a source of a metadata model provided to a translation framework. Information regarding the data source, optionally including information sufficient to retrieve data from the data source (e.g., access pointers), can be included in the metadata model provided by the source of the metadata model,” ¶ 0073. The claimed “data model” is mapped to the disclosed “translation framework”. Said translation framework includes information about the network and the applications that are connected to it, via information included in the metadata models within the translation framework. The claimed “first controller” is mapped to the disclosed “target application”. The claimed “querying” is mapped to the disclosed “requesting” of the translation framework for data to communicate with multiple client systems as shown in Fig. 1.), the data model comprising information about data types produced and consumed by the plurality of controllers connected to the network ( Siebeking discloses, “The translation framework can store annotations to a metadata model in the form of custom metadata types. The custom metadata types can be used by one or both of the target application and a source application. Source applications can cause values to be stored for annotations they support. Target applications can read values for annotations they support,” ¶ 0005. It can be seen that the metadata types are produced (stored) and consumed (read) by the source application and target application, respectively, where both applications are connected to the translation framework in order for this to happen.); identifying, by the first controller, ( Siebeking discloses, “In this way, the framework 416 can facilitate sharing of information contained in a metadata model 424 between source applications and the target application 412 (or other target applications), including providing the ability for the target application to optionally receive any annotations 438 that it might support, and which are provided by one or more source applications,” ¶ 0064, “FIG. 2 is a block diagram of a computing environment in which disclosed technologies can be implemented, showing how a translation framework can provide an intermediate metadata model format that can be translated between source and target formats,” ¶ 0012, “When the target application 324 requests metadata elements, such as metadata elements associated with a particular schema, the corresponding metadata models 370 can be located in the repository 366 and all or a portion of the metadata elements in the schema returned,” ¶ 0057, “…a given application may serve as a source application, a target application, or both, depending on the context. For example, when an application is to share its metadata with another application, or at least make its metadata available, it can be a source application. That same application can also use metadata from another application, in which case the source application also is a target application with respect to the another application,” ¶ 0033. So when the target application “intercommunicates” with or requests data from a source application, the source is identified. “…the disclosed technologies can facilitate data sharing and intercommunication between software applications, including software applications executing on different computing devices or systems. The disclosed technologies can reduce programming effort in facilitating communications between applications, as a single framework is able to dynamically adapt to changing schemas of source and target applications,” ¶ 0038.); determining, ( Siebeking discloses, “In some cases, a converter 264 can be included in the framework 204. The converter 264 can convert from the source metadata format 228 (including any source metadata extensions 234) to the intermediate metadata format 254, or to intermediate source metadata extensions 258. The converter 264 can convert from the intermediate metadata format 254, and the intermediate source metadata extensions 258, to the target metadata format 238 and the target metadata extensions 242. The converter 264 can include an interface 268 that can be called by the source application 212 or the target application 220 to send or receive information to/from the interface,” ¶ 0048. Here, a data transformation is determined between the format of the source application and the format of the target application.); Siebeking implicit teaches querying for information, including information about the network and the plurality of controllers connected to the network to facilitate sharing data with the plurality of controllers. Siebeking teaches “…the disclosed technologies can facilitate data sharing and intercommunication between software applications, including software applications executing on different computing devices or systems. The disclosed technologies can reduce programming effort in facilitating communications between applications, as a single framework is able to dynamically adapt to changing schemas of source and target applications,” ¶ 0038. In order for the target application to intercommunicate with source applications (controllers), the source applications and their locations are queried. However, such teaching is not explicit. Siebeking does not explicitly teach querying for information needed, including information about the network and the plurality of controllers connected to the network to facilitate sharing data with the plurality of controllers; identifying, in response to the querying of the data model, a second controller to share data; determining, by the first controller, a data transformation to convert between the second data type and the first data type based at least in part on information received in response to the querying of the data model; or reconfiguring, by the first controller, a communication protocol used by the first controller for communicating with the network to communicate with the second controller based at least in part on identifying the second controller from the data model. However, Galanis teaches querying for information, including information about the network and the plurality of controllers connected to the network, to facilitate sharing data with the plurality of controllers; identifying, in response to the querying of the data model, a second controller to share data; and determining based at least in part on information received in response to the querying of the data model ( Galanis discloses, “A catalog service in a large distributed system can be used to determine which nodes should receive queries based on query content,” Page 1, and “The DHTs have very desirable characteristics. Their goal is to provide the efficient location of data items in a very large and dynamic distributed system without relying on any centralized infrastructure. Thus, given a key, the corresponding data item can be efficiently located using only O(logn) network messages ([22], [25]) where n is the total number of nodes in the system,” Page 2. Galanis teaches information about a network and nodes connected to the network, with identifiers for each node. Galanis also teaches identifying a node in response to a querying of a data model, and also determining which nodes should receive queries based at least in part on information received in response to the querying of the data model. After the combination of Siebeking with Galanis, the data model from Siebeking now includes information about the network and its nodes from Galanis, and the second controller from Siebeking is determined in response to the querying of the data model as specified by Galanis. Furthermore, Siebeking’s data transformation to convert between the second data type and the first data type is now based at least in part on information received in response to the querying of the data model, as specified by Galanis.). Siebeking and Galanis are both considered to be analogous to the claimed invention because they are in the same field of software architecture. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Siebeking to incorporate the teachings of Galanis and provide querying, by the first controller, a data model for information about the network and the plurality of controllers connected to the network; identifying, by the first controller, in response to the querying of the data model, a second controller of the plurality of controllers that is configured to process a second data type that is compatible with the first data type; and determining a data transformation to convert between the second data type and the first data type based at least in part on information received in response to the querying of the data model. Doing so would help allow for faster lookups of each controller so that data could be shared between the different controllers. (Galanis discloses, “Thus, given a key, the corresponding data item can be efficiently located using only O(logn) network messages ([22], [25]) where n is the total number of nodes in the system,” ¶ 0017.). Siebeking in view of Galanis does not teach wherein the data transformation is determined by the first controller; or reconfiguring, by the first controller, a communication protocol used by the first controller for communicating with the network to communicate with the second controller based at least in part on identifying the second controller from the data model. However, Popovski teaches reconfiguring, by the first controller, a communication protocol used by the first controller for communicating with the network to communicate with the second controller based at least in part on identifying the second controller from the data model ( Popovski discloses, “The present invention relates to wireless communication systems. Especially wireless communication systems having the capability to switch to an alternative communication protocol if the normal communication protocol breaks down, e.g. due to weak reception, noise or jamming,” ¶ 0001, “The system may include more than two communication units. Advantageously each of the two communication units may comprise a communication controller configured to control communication to a wireless communication network, the communication controller including two communication protocols, a first protocol for communicating having a first error rate threshold and a fixed data rate, and a second protocol for communicating having a second error rate threshold being higher than the first error rate threshold and a non-fixed data rate, the communication controller being configured to switch from the first protocol for communicating to the second protocol for communicating,” ¶ 0008, “In the system having multiple communications units, or nodes, potentially any node can send information to any of the other nodes. Then, some or all of the nodes in the network can be reconfigured to communicate by using the second communication protocol,” ¶ 0010, and “In a certain legacy wireless system that features multiple communication nodes and/or two-way communication between nodes, all nodes may transit to operate in a robust manner and communicate with each other reliably by using the methods proposed in this invention,” ¶ 0072. In this case, the first communication unit may reconfigure a protocol to communicate with the second communication unit, based on whether the second communication unit is unable to communicate with the current protocol.). Siebeking in view of Galanis, and Popovski are both considered to be analogous to the claimed invention because they are in the same field of software architecture. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Siebeking in view of Galanis to incorporate the teachings of Popovski and provide reconfiguring, by the first controller, a communication protocol used by the first controller for communicating with the network to communicate with the second controller based at least in part on identifying the second controller from the data model. Doing so would help allow for ensuring that overall communication remains successful. (Popovski discloses, “Hence, an improved communication system and method would be advantageous, and in particular a more efficient and/or reliable communication system for use in situations where error rates rises to hinder communication would be advantageous,” ¶ 0003.). Siebeking in view of Galanis and Popovski does not teach wherein the data transformation is determined by the first controller. However, Ahmad teaches wherein the data transformation is determined by the first controller ( Ahmad discloses, “Some optional components within application 304 may include accessors 312 and data transforms 314 and/or 316. Accessors 312 allow for data-client-side mapping of data types used in the data connectors 310 and transforms 314 and 316 to or from data types useful for data clients,” ¶ 0044. Here, a data transformation is determined in the form of a data-client-side mapping. This means that the data client, or controller, performs the data transformation. After the combination of Siebeking in view of Galanis and Popovski, with Ahmad, the first controller from Siebeking in view of Galanis and Popovski determines the data transformation/mapping as specified by Ahmad.). Siebeking in view of Galanis and Popovski, and Ahmad are both considered to be analogous to the claimed invention because they are in the same field of software architecture. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Siebeking in view of Galanis and Popovski to incorporate the teachings of Ahmad and provide wherein the data transformation is determined by the first controller. Doing so would help allow the type of data conversion to be automatically determined on the client side, thus improving performance of the data conversion. (Ahmad discloses, “Thus, regardless of the type of data within a data store 322 and/or 324 as compared with the type of data useful to the data clients, application 304 may interface and change that data. Accessors 312 ensure that data connectors 310 can manage any type of data including data types that are not yet devised or developed,” ¶ 0044.). Claims 8 and 15 are a non-transitory machine-readable medium claim (¶ 0010 of Siebeking.) and system claim (¶ 0010 of Siebeking), respectively, corresponding to the method Claim 1. Therefore, Claims 8 and 15 are rejected for the same reason set forth in the rejection of Claim 1. In addition, Claim 8 recites “A non-transitory machine-readable medium having stored thereon instructions for performing a method of mediating a connection between a first controller connected to a network and a second controller connected to the network, comprising machine executable code which when executed by a processor, causes the processor to: …”, which is also taught by Siebeking (Siebeking discloses, “The tangible storage 1440 may be removable or non-removable, and includes magnetic disks, magnetic tapes or cassettes, CD-ROMs, DVDs, or any other medium which can be used to store information in a non-transitory way and which can be accessed within the computing system 1400. The storage 1440 stores instructions for the software 1480 implementing one or more innovations described herein,” ¶ 0110, “A processing unit can be a general-purpose central processing unit (CPU), processor in an application-specific integrated circuit (ASIC), or any other type of processor. In a multi-processing system, multiple processing units execute computer-executable instructions to increase processing power. For example, FIG. 14 shows a central processing unit 1410 as well as a graphics processing unit or co-processing unit 1415. The tangible memory 1420, 1425 may be volatile memory (e.g., registers, cache, RAM), non-volatile memory (e.g., ROM, EEPROM, flash memory, etc.), or some combination of the two, accessible by the processing unit(s) 1410, 1415. The memory 1420, 1425 stores software 1480 implementing one or more innovations described herein, in the form of computer-executable instructions suitable for execution by the processing unit(s) 1410, 1415,” ¶ 0108, and “A computing system 1400 may have additional features. For example, the computing system 1400 includes storage 1440, one or more input devices 1450, one or more output devices 1460, and one or more communication connections 1470. An interconnection mechanism (not shown) such as a bus, controller, or network interconnects the components of the computing system 1400,” ¶ 0109. The limitation “a connection between a first controller connected to a network and a second controller connected to the network” has been addressed in the body of the claim.). In addition, Claim 15 recites “a first controller connected to a network; a second controller connected to the network; a processor operatively coupled to the first controller; and a memory operatively coupled to the processor, the memory comprising instructions stored thereon that, when executed by the processor, cause the processor to: …”, which is also taught by Siebeking (Siebeking discloses, “A processing unit can be a general-purpose central processing unit (CPU), processor in an application-specific integrated circuit (ASIC), or any other type of processor. In a multi-processing system, multiple processing units execute computer-executable instructions to increase processing power. For example, FIG. 14 shows a central processing unit 1410 as well as a graphics processing unit or co-processing unit 1415. The tangible memory 1420, 1425 may be volatile memory (e.g., registers, cache, RAM), non-volatile memory (e.g., ROM, EEPROM, flash memory, etc.), or some combination of the two, accessible by the processing unit(s) 1410, 1415. The memory 1420, 1425 stores software 1480 implementing one or more innovations described herein, in the form of computer-executable instructions suitable for execution by the processing unit(s) 1410, 1415,” ¶ 0108, and “A computing system 1400 may have additional features. For example, the computing system 1400 includes storage 1440, one or more input devices 1450, one or more output devices 1460, and one or more communication connections 1470. An interconnection mechanism (not shown) such as a bus, controller, or network interconnects the components of the computing system 1400,” ¶ 0109.). Regarding Claim 4, Siebeking in view of Galanis, Popovski, and Ahmad teaches the method of claim 1, wherein the second data type is syntactically the same as the first data type ( Siebeking discloses, “In some cases, the source application and one or more of the target applications can use the same metadata format (and/or metadata schema),” ¶ 0032, and “In a particular example, two metadata formats are ‘related’ if the metadata formats overlap, such as one format having more, fewer, or different metadata elements than the other metadata format, but the metadata formats have some metadata elements in common (e.g., the metadata elements serve the same purpose or have the same semantic or meaning), and the formatting or notation for the metadata element is common (e.g., they both use similar tokens, syntax elements, etc.),” ¶ 0052.). Claims 11 and 18 are a non-transitory machine-readable medium claim and system claim, respectively, corresponding to the method Claim 4. Therefore, Claims 11 and 18 are rejected for the same reason set forth in the rejection of Claim 4. Regarding Claim 5, Siebeking in view of Galanis, Popovski, and Ahmad teaches the method of claim 1, wherein the second data type is logically the same as the first data type ( Siebeking discloses, “In some cases, the source application and one or more of the target applications can use the same metadata format (and/or metadata schema),” ¶ 0032, and “In a particular example, two metadata formats are ‘related’ if the metadata formats overlap, such as one format having more, fewer, or different metadata elements than the other metadata format, but the metadata formats have some metadata elements in common (e.g., the metadata elements serve the same purpose or have the same semantic or meaning), and the formatting or notation for the metadata element is common (e.g., they both use similar tokens, syntax elements, etc.),” ¶ 0052.). Claims 12 and 19 are a non-transitory machine-readable medium claim and system claim, respectively, corresponding to the method Claim 5. Therefore, Claims 12 and 19 are rejected for the same reason set forth in the rejection of Claim 5. Regarding Claim 6, Siebeking in view of Galanis, Popovski, and Ahmad teaches the method of claim 1, wherein the second data type is semantically the same as the first data type ( Siebeking discloses, “In some cases, the source application and one or more of the target applications can use the same metadata format (and/or metadata schema),” ¶ 0032, and “In a particular example, two metadata formats are ‘related’ if the metadata formats overlap, such as one format having more, fewer, or different metadata elements than the other metadata format, but the metadata formats have some metadata elements in common (e.g., the metadata elements serve the same purpose or have the same semantic or meaning), and the formatting or notation for the metadata element is common (e.g., they both use similar tokens, syntax elements, etc.),” ¶ 0052.). Claims 13 and 20 are a non-transitory machine-readable medium claim and system claim, respectively, corresponding to the method Claim 6. Therefore, Claims 13 and 20 are rejected for the same reason set forth in the rejection of Claim 6. Regarding Claim 7, Siebeking in view of Galanis, Popovski, and Ahmad teaches the method of claim 1, wherein the reconfiguring the communication protocol further includes: implementing, by the first controller, a network interface configured to receive the second data type ( Siebeking discloses, “The translation framework 124 can be in communication with the central system 110 and the client systems 118 using any suitable method. In a particular example, the central system 110, or other computing systems devices acting as target systems, request data from the framework 124 using the HTTP protocol,” ¶ 0043. Using the HTTP protocol to request data of a certain type from the framework requires using a network interface.); transforming, by the first controller, the second data type to be logically the same as the first data type ( Siebeking discloses, “In some cases, the source application and one or more of the target applications can use the same metadata format (and/or metadata schema),” ¶ 0032, and “In a particular example, two metadata formats are ‘related’ if the metadata formats overlap, such as one format having more, fewer, or different metadata elements than the other metadata format, but the metadata formats have some metadata elements in common (e.g., the metadata elements serve the same purpose or have the same semantic or meaning), and the formatting or notation for the metadata element is common (e.g., they both use similar tokens, syntax elements, etc.),” ¶ 0052.); and transforming, by the first controller, the second data type to be syntactically the same as the first data type ( Siebeking discloses, “In some cases, the source application and one or more of the target applications can use the same metadata format (and/or metadata schema),” ¶ 0032, and “In a particular example, two metadata formats are ‘related’ if the metadata formats overlap, such as one format having more, fewer, or different metadata elements than the other metadata format, but the metadata formats have some metadata elements in common (e.g., the metadata elements serve the same purpose or have the same semantic or meaning), and the formatting or notation for the metadata element is common (e.g., they both use similar tokens, syntax elements, etc.),” ¶ 0052.). Claim 14 is a non-transitory machine-readable medium claim corresponding to the method Claim 7. Therefore, Claim 14 is rejected for the same reason set forth in the rejection of Claim 7. Claims 2-3, 9-10, and 16-17 are rejected under 35 U.S.C. 103 as being unpatentable over Siebeking (US 20200201865 A1) in view of Galanis (“Locating Data Sources in Large Distributed Systems”), Popovski (US 20140185579 A1), Ahmad (US 20060248104 A1), and Wang (US 20170123865 A1). Regarding Claim 2, Siebeking in view of Galanis, Popovski, and Ahmad teaches the method of claim 1, wherein the reconfiguring the communication protocol includes reconfiguring the communication protocol to transform the first data type to the second data type ( Popovski discloses, “The system may include more than two communication units. Advantageously each of the two communication units may comprise a communication controller configured to control communication to a wireless communication network, the communication controller including two communication protocols, a first protocol for communicating having a first error rate threshold and a fixed data rate, and a second protocol for communicating having a second error rate threshold being higher than the first error rate threshold and a non-fixed data rate, the communication controller being configured to switch from the first protocol for communicating to the second protocol for communicating,” ¶ 0008.). Siebeking in view of Galanis, and Popovski are both considered to be analogous to the claimed invention because they are in the same field of software architecture. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Siebeking in view of Galanis to incorporate the teachings of Popovski and provide wherein the reconfiguring the communication protocol includes reconfiguring the communication protocol to transform the first data type to the second data type. Doing so would help allow for ensuring that overall communication remains successful when switching between protocols (Popovski discloses, “Hence, an improved communication system and method would be advantageous, and in particular a more efficient and/or reliable communication system for use in situations where error rates rises to hinder communication would be advantageous,” ¶ 0003.). Siebeking in view of Galanis, Popovski, and Ahmad does not teach the method further comprising: producing, by the first controller, the first data type; transforming, by the first controller, the first data type to the second data type; and transmitting, by the first controller, the second data type to the second controller over the network. However, Wang teaches the method further comprising: producing, by the first controller, the first data type ( PNG media_image6.png 578 706 media_image6.png Greyscale Wang discloses, “transmitting, by an outer application system operational data, state data, and functions, etc., of itself, to an interface adapter a,” ¶ 0088.); transforming, by the first controller, the first data type to the second data type ( Wang discloses, “converting the data from the outer application system a into a first or second predefined data structure by the interface adapter a,” ¶ 0089.); and transmitting, by the first controller, the second data type to the second controller over the network ( Wang discloses, “transmitting the first or second predefined data structure to an interface adapter b by a centralized rules engine,” ¶ 0090.). Siebeking in view of Galanis, Popovski, and Ahmad, and Wang are both considered to be analogous to the claimed invention because they are in the same field of software architecture. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Siebeking in view of Galanis, Popovski, and Ahmad to incorporate the teachings of Wang and provide wherein the reconfiguring the communication protocol includes reconfiguring the communication protocol to transform the first data type to the second data type, the method further comprising: producing, by the first controller, the first data type; transforming, by the first controller, the first data type to the second data type; and transmitting, by the first controller, the second data type to the second controller over the network. Doing so would help allow for ensuring compatibility between different controllers that use different formats. (Wang discloses, “Hence, the data of the various outer application systems connected to the information processing apparatus are outputted in unified data formats after passing through the first interacting unit 6011, so that communication is performed between the various outer application systems,” ¶ 0067.). Claims 9 and 16 are a non-transitory machine-readable medium claim and system claim, respectively, corresponding to the method Claim 2. Therefore, Claims 9 and 16 are rejected for the same reason set forth in the rejection of Claim 2. Regarding Claim 3, Siebeking in view of Galanis, Popovski, and Ahmad teaches the method of claim 1. Siebeking in view of Galanis, Popovski, and Ahmad does not teach wherein the reconfiguring the communication protocol includes reconfiguring the communication protocol to transform the second data type to the first data type, the method further comprising: receiving, by the first controller, the second data type from the second controller over the network; transforming, by the first controller, the second data type to the first data type; and processing, by the first controller, the first data type. However, Wang teaches wherein the reconfiguring the communication protocol includes reconfiguring the communication protocol to transform the second data type to the first data type, the method further comprising: receiving, by the first controller, the second data type from the second controller over the network ( Wang discloses, “one or more interface adapters 601, each interface adapter 601 being connected to an outer application system, configured to achieve data interaction and function call between the multiple outer application systems,” ¶ 0060. Wang discloses, “transmitting the first or second predefined data structure to an interface adapter b,” ¶ 0090. Paragraph 60 of the disclosure states that each of the interface adapters are configured to achieve data interaction between multiple outer application systems. This means that the same interface adapter can both convert between two different data types.); transforming, by the first controller, the second data type to the first data type ( Wang discloses, “converting the data by the interface adapter b into a data structure of an outer application system b,” ¶ 0091. Wang discloses, “one or more interface adapters 601, each interface adapter 601 being connected to an outer application system, configured to achieve data interaction and function call between the multiple outer application systems,” ¶ 0060. Therefore, the same process described in ¶ 0091 regarding adapter b and outer application system b applies to adapter a and outer application system a. ); and processing, by the first controller, the first data type ( Wang discloses, “transmitting the data by the interface adapter b to the outer application system b, so that the outer application system b can conveniently acquire information of the outer application system a,” ¶ 0092.). Siebeking in view of Galanis, Popovski, and Ahmad, and Wang are both considered to be analogous to the claimed invention because they are in the same field of software architecture. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Siebeking in view of Galanis, Popovski, and Ahmad to incorporate the teachings of Wang and provide wherein the reconfiguring the communication protocol includes reconfiguring the communication protocol to transform the second data type to the first data type, the method further comprising: receiving, by the first controller, the second data type from the second controller over the network; transforming, by the first controller, the second data type to the first data type; and processing, by the first controller, the first data type. Doing so would help allow for ensuring compatibility between different controllers that use different formats. (Wang discloses, “Hence, the data of the various outer application systems connected to the information processing apparatus are outputted in unified data formats after passing through the first interacting unit 6011, so that communication is performed between the various outer application systems,” ¶ 0067.). Claims 10 and 17 are a non-transitory machine-readable medium claim and system claim, respectively, corresponding to the method Claim 3. Therefore, Claims 10 and 17 are rejected for the same reason set forth in the rejection of Claim 3. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Mathur et al. (US 10719374 B1): Application Programming Interface Generator Using Database Metadata Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). 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. Any inquiry concerning this communication or earlier communications from the examiner should be directed to ANDREW SUN whose telephone number is (571)272-6735. The examiner can normally be reached Monday-Friday 8:00-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, Aimee Li can be reached at (571) 272-4169. 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. /ANDREW NMN SUN/Examiner, Art Unit 2195 /KEVIN L YOUNG/Supervisory Patent Examiner, Art Unit 2194
Read full office action

Prosecution Timeline

Aug 28, 2023
Application Filed
Dec 17, 2025
Non-Final Rejection mailed — §103
Apr 15, 2026
Applicant Interview (Telephonic)
Apr 15, 2026
Examiner Interview Summary
Apr 16, 2026
Response Filed
Jul 07, 2026
Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12669997
Schedulable Asynchronous Methods with Semi-Reactive Completion Stages
3y 11m to grant Granted Jun 30, 2026
Patent 12632312
AUTOMATIC RESOURCE QUOTA CALCULATIONS BASED ON TENANT WORKLOADS
4y 5m to grant Granted May 19, 2026
Patent 12625734
HIGH AVAILABILITY SCHEDULER EVENT TRACKING
4y 4m to grant Granted May 12, 2026
Study what changed to get past this examiner. Based on 3 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

3-4
Expected OA Rounds
50%
Grant Probability
99%
With Interview (+100.0%)
3y 6m (~7m remaining)
Median Time to Grant
Moderate
PTA Risk
Based on 8 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month