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 .
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”) and Popovski (US 20140185579 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_image1.png
454
874
media_image1.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_image2.png
502
846
media_image2.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.);
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.);
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; 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 (
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. After the combination of Siebeking with Galanis, the data model from Siebeking now includes information about the network and its nodes from 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, and 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. Doing so would help allow for faster lookups of each controller so that data could be shared. (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 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.).
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 and Popovski 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 and Popovski 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 and Popovski 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 and Popovski 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), and Wang (US 20170123865 A1).
Regarding Claim 2, Siebeking in view of Galanis and Popovski 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 and Popovski 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_image3.png
578
706
media_image3.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 and Popovski, 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 and Popovski 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 and Popovski teaches the method of claim 1. Siebeking in view of Galanis and Popovski 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 and Popovski, 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 and Popovski 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
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
/Aimee Li/Supervisory Patent Examiner, Art Unit 2195