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 .
Specification
The title of the invention is not descriptive. A new title is required that is clearly indicative of the invention to which the claims are directed.
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-3, 6-12, and 16-19are rejected under 35 U.S.C. 103 as being unpatentable over Nelson et al. (US 2018/0088930 A1).
Regarding claim 1, Nelson teaches the invention substantially as claimed including a data processing method, comprising:
invoking a library interface of a middle layer library by using an upper layer application (Fig. 2 Computing environment 203, Application Updating Service 221, Data Store 212 and Updateable Code 239; [0016] disclosure can allow for updateable code to be stored within the software library and/or accessible to the client device 103; [0019] Also, various data is stored in a data store 212 that is accessible to the computing environment 203. The data store 212 may be representative of a plurality of data stores 212 as can be appreciated. The data stored in the data store 212, for example, is associated with the operation of the various applications and/or functional entities described below.; [0038]; wherein the Data Store corresponds storing the Updateable code corresponds to the middle layer library and the Application Updating Service corresponds to the upper layer application); and
implementing a function corresponding to the library interface by invoking a bottom layer application programming interface by the middle layer library (Fig. 2; [0030] For example, a software library 273 can provide device hardware APIs through which the application 233 may access a device resource. As another example, a software library 273 can also provide functionality associated with the application marketplace system 219; [0038] In one embodiment, the application updating service 221 can also be instrumented to obtain an update to updateable code 239 corresponding to a software library 273 from a developer that is in turn stored within the data store 212. The updated updateable code 239 corresponding to the software library 273 can then be pushed as a code update 245 to an instance of an application 233 and/or software library 273 that is stored within a client device 103.).
While Nelson does not explicitly recite a middle layer library, Nelson as cited teaches a data store in which the updated code is stored and can then be retrieved by an application for updating functionality associated with the Application running in the client device. As such, one of ordinary skill in the art would have understood Nelson’s teachings to encompass the claimed limitation as it recites a structure where the developer submits updates, a middle layer where the updates are stored and an a client application that receives the updated code. Accordingly, Nelson reasonably teaches the limitations as claimed.
Regarding claim 2, Nelson teaches further comprising: obtaining designated function data; and encapsulating the designated function data into function modules and generating the library interface ([0002] Applications that are distributed via an application marketplace often employ code fragments, functionality and/or one or more software libraries for the purpose of facilitating interactions with systems and/or services associated with the application marketplace. For example, an application can be created by a developer for distribution via an application marketplace that is operated by another entity, where the other entity can offer one or more software libraries with an application programming (API) interface that can be incorporated into the application.; [0012] For example, because an application marketplace is often operated by an entity that is different from a developer, updates to functionality provided by the software libraries bundled with an application can be performed without requiring the creation of a new application binary and distribution of the application binary to user devices).
Regarding claim 3, Nelson teaches wherein obtaining the designated function data comprises: obtaining function data; and classifying the function data and obtaining the designated function data ([0038] In one embodiment, the application updating service 221 can also be instrumented to obtain an update to updateable code 239 corresponding to a software library 273 from a developer that is in turn stored within the data store 212. The updated updateable code 239 corresponding to the software library 273 can then be pushed as a code update 245 to an instance of an application 233 and/or software library 273 that is stored within a client device 103.; [0033] The updateable code 239 can be organized into various portions that are linked with a particular functional call of the software library 273. The updateable code 239, when embodied in the form of scripting language code, can comprise JavaScript, PHP, Perl, or any other scripting language. The updatable code 239 can also comprise markup language (or code that generates markup language), which can correspond to user interface elements rendered by the client device 103. The updatable code 239 can also include style sheets, such as cascading style sheets (CSS) that specify presentation elements within the markup language and/or other user interface elements associated with an API call to the software library 273.).
Regarding claim 7, Nelson teaches wherein encapsulating the designated function data into the function modules and generating the library interface comprises: setting parameter adjustment items for the designated function data, and encapsulating the function modules and generating the library interface ([0042] Additionally, as other examples of scenarios in which updateable code 239 can be employed, the software library 273 can employ updateable code 239 to specify a format of and/or retrieve data from a service that is accessible via the network 209.; [0043] As noted above, the updateable code 239 can update any logical operation of any functionality employed by the software library 273. For example, if the software library 273 is relied upon by the application 233 to perform authentication of the user with a service accessible via the network 209, the software library 273 can employ updateable code 239 to execute the authentication workflow.).
Regarding claim 8, Nelson teaches wherein invoking the library interface of the middle layer library by the upper layer application, comprising: sequentially invoking a plurality of library interfaces of the middle layer library by the upper layer application; or directly invoking the library interface of the middle layer library by the upper layer application ([0039] The application updating service 221 can then distribute a code update 245 that incorporates the updateable code 245 to those client devices 103 on which the application 233 and/or software library 273 incorporating the updateable code 245 are installed.).
Regarding claim 9, it is a system type claim having similar limitations as claim 1 above. Therefore, it is rejected under the same rationale above. Further the additional limitations a memory a processor, when the at least one instruction is executed by the processor, the processor is caused to, are taught by Nelson in at least [0057] The program instructions may be embodied in the form of source code that comprises human-readable statements written in a programming language or machine code that comprises numerical instructions recognizable by a suitable execution system such as a processor 603 in a computer system or other system. And Fig. 6 Memories 606
Regarding claim 10, it is a media/product type claim having similar limitations as claim 1 above. Therefore, it is rejected under the same rationale above.
Regarding claim 11, it is a media/product type claim having similar limitations as claim 2 above. Therefore, it is rejected under the same rationale above.
Regarding claim 12, it is a media/product type claim having similar limitations as claim 3 above. Therefore, it is rejected under the same rationale above.
Regarding claim 16, it is a media/product type claim having similar limitations as claim 7 above. Therefore, it is rejected under the same rationale above.
Regarding claim 17 it is a media/product type claim having similar limitations as claim 8 above. Therefore, it is rejected under the same rationale above.
Regarding claim 18 it is a media/product type claim having similar limitations as claim 2 above. Therefore, it is rejected under the same rationale above.
Regarding claim 19 it is a media/product type claim having similar limitations as claim 3 above. Therefore, it is rejected under the same rationale above.
Claims 4-5, 13-14 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Nelson et al. (US 2018/0088930 A1) in further view of Davis (US 2015/0261729 A1).
Regarding claim 4, Nelson does not explicitly teach wherein encapsulating the designated function data into the function modules and generating the library interface comprises: defining difference of a plurality of designated function data by macros, and generating corresponding library interface for the plurality of designated function data defined by the macros.
However, Davis teaches wherein encapsulating the designated function data into the function modules and generating the library interface comprises: defining difference of a plurality of designated function data by macros, and generating corresponding library interface for the plurality of designated function data defined by the macros ([0092] The SDK 228 permits a third type of reuse in the ability to attach to remote data documents and remote macros on the web to take advantage of these extra resources and to provide real-time updating of data and functions.; [0061]).
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 Davis with the teachings of Nelson to utilize macros to perform updates to the application. The modification would have been motivated by the desire of utilizing macros which are reusable numerical analysis routines which can be written quickly, cheaply, and in a form usable by a broad range of data documents in RDML, the platform upon which the macros are run. (See Davis’ [0046])
Regarding claim 5, Nelson teaches wherein generating corresponding library interface comprises: compiling and generating the corresponding library interface respectively by using a script tool ([0033] The updateable code 239, when embodied in the form of scripting language code, can comprise JavaScript, PHP, Perl, or any other scripting language. The updatable code 239 can also comprise markup language (or code that generates markup language), which can correspond to user interface elements rendered by the client device 103.).
Regarding claim 13, it is a media/product type claim having similar limitations as claim 4 above. Therefore, it is rejected under the same rationale above.
Regarding claim 14, it is a media/product type claim having similar limitations as claim 5 above. Therefore, it is rejected under the same rationale above.
Regarding claim 20 it is a media/product type claim having similar limitations as claim 4 above. Therefore, it is rejected under the same rationale above.
Claims 6 and 15 are rejected under 35 U.S.C. 103 as being unpatentable over Nelson et al. (US 2018/0088930 A1) in further view of Landry (US 2012/0124567 A1).
Regarding claim 6, Nelson does not explicitly teach after generating the library interface, the method further comprising: adapting and debugging the library interface, and making the library interface adapt to the device.
However, Landry teaches after generating the library interface, the method further comprising: adapting and debugging the library interface, and making the library interface adapt to the device ([0023] In addition, in some embodiments, the manufacturer of hardware component 120 may develop firmware update 155 within a software development kit (SDK) designed for the particular firmware-to-OS interface 130. For example, when firmware-to-OS interface 130 is a UEFI interface, the manufacturer may utilize a UEFI SDK to develop the firmware update 155. Such embodiments are advantageous, as they eliminate the need for custom development of firmware update 155 by allowing the use of UEFI-specific Application Program Interfaces (APIs), development and debugging tools, and the like.).
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 Landry with the teachings of Nelson to perform debugging to the updates. The modification would have been motivated by the desire of combining known methods to yield predictable results of debugging updates made to the SDK.
Regarding claim 15, it is a media/product type claim having similar limitations as claim 6 above. Therefore, it is rejected under the same rationale above.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to JORGE A CHU JOY-DAVILA whose telephone number is (571)270-0692. The examiner can normally be reached Monday-Friday, 6:00am-5:00pm.
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 J 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.
/JORGE A CHU JOY-DAVILA/Primary Examiner, Art Unit 2195