DETAILED ACTION
In response to communication filed on 15 April 2026, claims 1, 3-4, 16-18 and 21-22 are amended. Claim 2 is canceled. Claims 23-26 are newly added claims. Claims 1 and 3-26 are pending.
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, see “Claim Objections”, filed 15 April 2026, have been carefully considered and based on the claim amendments, the claim objections are withdrawn.
Applicant’s arguments, see “Claim Rejections – 35 USC § 103”, filed 15 April 2026, have been carefully considered and are not considered to be persuasive.
APPLICANT’S ARGUMENT: Applicant argues that the cited portion of paragraph [0087] describes transmitting information from a mobile device 108 to a server 110, and does not relate to any application data being obtained by a remote server being obtained "based on the identifying information associated with the user of the device". Applicant further argues that Stone does not disclose or suggest, alone or in combination with Kilmer '370, the claimed functionality for a server obtaining and providing application information based on identifying information associated with the user of the device who scanned an optical code.
EXAMINER’S RESPONSE: Examiner has carefully considered the argument, but respectfully disagrees. Regarding the argued claim limitation receiving data indicating the one or more applications from the remote server based on the one or more identifying values, wherein the received data indicating the one or more applications from the remote server is obtained by the remote server based on the identifying information associated with the user of the device, Kilmer reference teaches in [0020] that an encoded value is decoded for an optical code and also teaches in [0081] that the decoded information is transmitted to the server to further identify digital label entry. To a person of ordinary skill in the art, based on the broadest reasonable interpretation, in light of specification “one or more identifying values” may be reasonably interpreted as digital label entry and Kilmer reference teaches in [0085], that based on digital label entry, server transmits information to the mobile device. Kilmer also teaches that there are different types of data related to applications being stored in [0003]. Therefore, Kilmer reference teaches claim limitation receiving data… from the remote server based on the one or more identifying values, wherein the received data… from the remote server is obtained by the remote server. Kilmer reference also teaches in [0087] and [0081] regarding detecting a name from the user and transmitting that information entered by user to the mobile device. That information is being received by the server and then server transmits information to the mobile device. Thus Kilmer reference teaches the limitation of based on the identifying information associated with the user of the device. Kilmer however, does not explicitly teach data indicating the one or more applications is being transmitted between the device and the server. Hence Stone reference has been incorporated that teaches in [0080] regarding application data and in claim 34 it teaches receiving data messages reported from the applications. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the functionality of receiving data indicating applications as being disclosed and taught by Stone, in the system taught by Kilmer to yield the predictable results of distributing file or data to multiple servers simultaneously to efficiently update the affected resources (see Stone, [0049]). Thus explained above Kilmer and Stone teaches the above argued limitations and as a result the above arguments are not considered to be persuasive.
APPLICANT’S ARGUMENT: Applicant argues regarding claim 4, that the cited portion of Sganga merely refers to the existence of a "monitoring hierarchy" for monitoring applications for a surgical system to "verify that they are in proper operational order." Sganga is not related to "permissions" for applications at all, and certainly does not disclose or suggest determining application permissions for transmission of application information from a server to a mobile device based on a respective position of one or more applications within a hierarchy of a data repository, as claimed.
EXAMINER’S RESPONSE: Examiner has carefully considered the argument, but respectfully disagrees. Stone reference has been cited to teach the permissions and attribute values in [0055] and [0059]. However, Stone reference does not explicitly teach hierarchy of applications for which Sganga reference has been incorporated based on teachings from [col 45]. In response to applicant's arguments against the references individually, one cannot show nonobviousness by attacking references individually where the rejections are based on combinations of references. See In re Keller, 642 F.2d 413, 208 USPQ 871 (CCPA 1981); In re Merck & Co., 800 F.2d 1091, 231 USPQ 375 (Fed. Cir. 1986). Similarly, Sganga reference is not the only one cited to teach the above argued limitations. A combination of Stone and Sganga reference are cited to teach the above argued limitations. As a result the above arguments are not considered to be persuasive.
APPLICANT’S ARGUMENT: Applicant argues regarding claim 9, However, Sarkar only discloses the existence of applications being restricted to specific users. Nothing in Sarkar, taken alone or in combination with the other references, discloses or suggests restricting access to an application associated with an optical code based on "registration of the optical code in the data repository with the unique identifier." The office action points to alleged teaching in Kilmer '370 of unique identifiers, but does not point to any disclosure or suggestion of restricting access to an application associated with an optical code based on "registration of the optical code in the data repository with the unique identifier."
EXAMINER’S RESPONSE: Examiner has carefully considered the argument, but respectfully disagrees. Applicant's arguments fail to comply with 37 CFR 1.111(b) because they amount to a general allegation that the claims define a patentable invention without specifically pointing out how the language of the claims patentably distinguishes them from the references. Applicant appears to be stating that Sarkar and Kilmer do not teach the above argued limitations but is not providing a clarification as to how the existing citation does not teach the above argued limitation. As a result, the above argument is not considered to be persuasive.
Claim Interpretation
Claims 1, 16-18 and 22 recite “a remote server using one or more applications”. These claim limitations appear to be citing intended use in terms of what the applications are used for. Examiner suggests amending the claim to recite the functionality performed by the claimed method, instead of reciting what the claim elements are used for.
Claim 14 recites “using one or more application programming interface (API) keys”. These claim limitations appear to be citing intended use in terms of what the API keys are used for. Examiner suggests amending the claim to recite the functionality performed by the claimed method, instead of reciting what the claim elements are used for.
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, 5, 11-12, 15-17 and 22 are rejected under 35 U.S.C. 103 as being unpatentable over Kilmer et al. (US 2020/0193370 A1, hereinafter “Kilmer”) in view of Stone et al. (US 2003/0233439 A1, hereinafter “Stone”).
Regarding claim 1, Kilmer teaches
A method for (see Kilmer, [0055] “a method 200 for configuring and deploying the data collection system”) updating a data repository stored at a remote server (see Kilmer, [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”; [0015] “transmitting an instruction to the remote server to register the optical code by uniquely associating the entry in the database with the information associated with registering the optical code”) using one or more applications associated with an optical code, (see Kilmer, [0053] “Server 110 may be a database server, a web server, an application server, or any type of microprocessor-based device suitable for transmitting, receiving, and storing data”; [0071] “The optical codes may be generated and stored by server 110”) the method comprising: (see Kilmer, [0055] “a method 200 for configuring and deploying the data collection system”).
detecting the optical code by a device comprising an optical detector and a display; (see Kilmer, [0020] “detect, by the optical sensor, an optical code, wherein the optical code is physically associated with an object”; [0046] “The system allows for the collection of data corresponding to any measurable or observable characteristic of an object by receiving data transmitted by a mobile device that has detected the optical code associated with the object”; [0020] “a device comprising a display, an optical sensor”; [0083] “mobile device 108 may display an interface”).
decoding one or more identifying values encoded in the optical code and transmitting information including the one or more identifying values to the server (see Kilmer, [0020] “decode an identifying value encoded in the optical code; transmit geographic information from the GPS sensor to a remote server, wherein the geographic information is transmitted in accordance with the decoded identifying value”; [0081] “The decoded information may cause mobile device 108 to transmit information to server 110 that allows server 110 to identify the digital label entry associated with the optical code”) and identifying information associated with a user of the device to the remote server; (see Kilmer, [0087] “detecting an input, such as a name, from the user, mobile device 108 may transmit, to server 110, the information entered by the user. Server 110 may store, in a data object associated with the digital label entry corresponding to the optical code, the name entered by the user”; [0081] “Based on the information transmitted by mobile device 108, server 110 may transmit information to mobile device 108, such as the identity of the digital label entry associated with the optical code, a name previously assigned to the digital label entry by a user”).
receiving data… from the remote server based on the one or more identifying values, wherein the received data… (see Kilmer, [0085] “after receiving, from mobile device 108, information indicating that an optical code has been scanned, server 110 may access data associated with the optical code determine whether the optical code has previously been registered… server 110 may identify the digital label entry associated with the optical code... Server 110 may determine, based on the data, whether the optical code has previously registered and transmit, to mobile device 108, information indicating whether the optical code has previously been registered”; [0053] “Server 110 may be a database server, a web server, an application server, or any type of microprocessor-based device suitable for transmitting, receiving, and storing data”; [0003] “customizable data collection system that can collect and store different types of data for different applications”) from the remote server is obtained by the remote server (see Kilmer, [0085] “after receiving, from mobile device 108, information indicating that an optical code has been scanned, server 110 may access data associated with the optical code determine whether the optical code has previously been registered… server 110 may identify the digital label entry associated with the optical code... Server 110 may determine, based on the data, whether the optical code has previously registered and transmit, to mobile device 108, information indicating whether the optical code has previously been registered”; [0053] “Server 110 may be a database server, a web server, an application server, or any type of microprocessor-based device suitable for transmitting, receiving, and storing data”; [0003] “customizable data collection system that can collect and store different types of data for different applications”) based on the identifying information associated with the user of the device; (see Kilmer, [0087] “detecting an input, such as a name, from the user, mobile device 108 may transmit, to server 110, the information entered by the user. Server 110 may store, in a data object associated with the digital label entry corresponding to the optical code, the name entered by the user”; [0081] “Based on the information transmitted by mobile device 108, server 110 may transmit information to mobile device 108, such as the identity of the digital label entry associated with the optical code, a name previously assigned to the digital label entry by a user”).
displaying a visual indicator of the one or more applications at the display of the device (see Kilmer, [0098]-[0099] “interfaces 402a-402e may be displayed by terminal 200 of system 100… interfaces 402a-402e may be displayed by any electronic computing device, such as a laptop computer, desktop computer, smart-phone, tablet, or other electronic computing device configured to display one or more of interfaces 402a-402e and to receive one or more inputs from a user, as discussed herein, to control the operation of the interface and operation of a data collection system such as system 100… may include displaying one or more of the interfaces shown in FIGS. 4A-E… Interfaces 402a-402e may… be interrelated interfaces of a single program or application configured to be used in connection with one another”) based on the received data,… (see Kilmer, [0046] “methods for configuring and deploying a customizable data collection system. The system provides for the creation of customizable data profiles that correspond to real-world objects having unique measurable characteristics. The system provides for the creation of unique optical codes that may be deployed and physically associated with objects to be measured. In this way, the optical codes may uniquely identify each measured object in the system. The system allows for the collection of data corresponding to any measurable or observable characteristic of an object by receiving data transmitted by a mobile device that has detected the optical code associated with the object”) the data repository… within the data repository; (see Kilmer, [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”).
detecting a user selection of a visual indicator of the one or more visual indicators associated with an application of the one or more applications; (see Kilmer, [0099] “Interfaces 402a-402e may… be interrelated interfaces of a single program or application configured to be used in connection with one another. For example, each of the interfaces 402a-402e may be different screens that are selectively accessible from a mobile application or other computer program configured to work in conjunction with one or more electronic devices in order to configure and manage a data collection system”).
displaying a user interface associated with the application based on the user selection, (see Kilmer, [0099]-[0100] “Interfaces 402a-402e may… be interrelated interfaces of a single program or application configured to be used in connection with one another… FIG. 4A shows data profile definition interface 402a, according to some embodiments. Data profile creation interface 402a may… be an interface configured to allow a user to create or modify a data profile by naming the profile and defining characteristics to be associated with the data profile”) wherein the user interface comprises a prompt for a user input for updating one or more keyed values in the data repository; (see Kilmer, [0100] “FIG. 4A shows data profile definition interface 402a, according to some embodiments. Data profile creation interface 402a may… be an interface configured to allow a user to create or modify a data profile by naming the profile and defining characteristics to be associated with the data profile”; [0102] “data profile definition interface 402a may comprise one or more characteristic toggle icons 406a-406c that allow a user to select pre-defined characteristics to be associated with the data profile… a user may select one or more of characteristic toggle icons 406a-406c to associate the corresponding characteristic with the data profile… may allow a user to choose whether a data profile accepts pictures, whether a data profile requests information regarding whether or not an object is damaged, and/or whether a digital label entry and/or optical code associated with the data profile is disabled after a final event is received”; [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”).
receiving one or more inputs comprising information associated with the one or more keyed values to be updated via the user interface; and (see Kilmer, [0102]-[0103] “characteristic toggle icons 406a-406c may be interactive affordances, in that they may be clicked, tapped, pressed, or otherwise selected in order to indicate selection or deselection of the corresponding characteristic… characteristics field 408 may be a text field configured to accept input from a user… characteristics field 408 may be configured to allow a user to enter text corresponding to one or more characteristics (for example, multiple characteristics may be delineated by commas, semicolons, or another suitable notation)…. characteristics field 408 may be configured to accept measurement characteristics, event characteristics, and/or other characteristics to be associated with the data profile”).
… based on the one or more inputs… (see Kilmer, [0102]-[0103] “characteristic toggle icons 406a-406c may be interactive affordances, in that they may be clicked, tapped, pressed, or otherwise selected in order to indicate selection or deselection of the corresponding characteristic… characteristics field 408 may be a text field configured to accept input from a user… characteristics field 408 may be configured to allow a user to enter text corresponding to one or more characteristics (for example, multiple characteristics may be delineated by commas, semicolons, or another suitable notation)…. characteristics field 408 may be configured to accept measurement characteristics, event characteristics, and/or other characteristics to be associated with the data profile”) comprises an instruction instructing the remote server to… (see Kilmer, [0015] “transmitting an instruction to the remote server to register the optical code by uniquely associating the entry in the database with the information associated with registering the optical code”; [0081] “may cause mobile device 108 to transmit information to server 110 that allows server 110 to”) store in the data repository (see Kilmer, [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”; [0015] “transmitting an instruction to the remote server to register the optical code by uniquely associating the entry in the database with the information associated with registering the optical code”) based on the one or more inputs (see Kilmer, [0102]-[0103] “characteristic toggle icons 406a-406c may be interactive affordances, in that they may be clicked, tapped, pressed, or otherwise selected in order to indicate selection or deselection of the corresponding characteristic… characteristics field 408 may be a text field configured to accept input from a user… characteristics field 408 may be configured to allow a user to enter text corresponding to one or more characteristics (for example, multiple characteristics may be delineated by commas, semicolons, or another suitable notation)…. characteristics field 408 may be configured to accept measurement characteristics, event characteristics, and/or other characteristics to be associated with the data profile”).
Kilmer does not explicitly teach receiving data indicating the one or more applications; wherein the received data indicating the one or more applications; wherein the one or more applications are respectively configured to enable access to one or more portions of the data repository based on respective permissions of the one or more applications; transmitting information to the remote server, wherein the information update one or more keyed values.
However, Stone discloses selection and update of data and teaches
receiving data indicating the one or more applications wherein the received data indicating the one or more applications (see Stone, [0080] “through an nth application 202 provide reports of security data (e.g., application security data) to the security message queue 206. The first application 200 represents an illustrative example of the first resource 36. Similarly, where a total of two applications are present (i.e., n equals 2), the nth application 202 represents an illustrative example of the second resource 50. The security message queue 206 of the log-in module 204 collects security data on clients and network usage. The security message queue 206 holds the security data until the security data is processed”; [claim 34] “receiving data messages reported from applications”).
wherein the one or more applications are respectively configured to enable access to one or more portions of data based on respective permissions of the one or more applications (see Stone, [0055] “A directory service system 32 refers to a service that identifies resources (36, 50) associated with a communications network and accessibility measures for making the resources (36, 50) accessible to clients 46, users and applications”; [0059] “directory services system 32 may support user authentication of a user and a single entry of a log-in identifier and a password to provide access to multiple resources (e.g., applications)… The directory services may support the assignment of attributes and attribute values to corresponding users. Attribute values may include user rights, permissions and control permissions for interacting with resources or objects. An object may be associated with object attributes. The objects may include limitations on the control presentation manipulation and access of objects, for example”).
transmitting information… to the remote server, wherein the information… update one or more keyed values (see Stone, [0113] “a request is arranged into a file for transmission over a communications network 22”; [0051] “allows operation and maintenance of one or more servers or resources to be executed remotely from the user interface 12”; [0120] “a server 326, transaction handler 92, or transaction server 78 determines the viability of the request or attempts to execute a request with respect to at least one resource (88 or 93)… the transaction handler 92 attempts to execute a request with respect to a data storage allocation associated with one or more applications (e.g., a first application 98 and a second application 99) or a resource (88 or 93). Accordingly, the server 326 or the transaction server 78 transmits a request to change, modify, add or delete attribute data (e.g., an attribute value) of a resource (88 or 93) consistent with the request in the file received via the communications network 22”; [0125] “if the request is viable, attribute data is updated for at least one of following: a resource (88 or 93), a directory services data storage 86, and a directory services system 95… the first application data storage 82, the second application data storage 84, or both may modify, add, or delete an attribute value consistent with the request in the file received via the communications network 22”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the functionality of receiving data indicating applications, applications accessing data based on permissions, transmitting information to remote server to update values, identifier related to a user device, restricting access to applications based on identifiers stored, receiving identifier via user interface, identifiers associated with the application, determining access to the application, notifications, reading data, writing data, deleting data and using APIs as being disclosed and taught by Stone, in the system taught by Kilmer to yield the predictable results of distributing file or data to multiple servers simultaneously to efficiently update the affected resources (see Stone, [0049] “Under a first technique, the transmitter 20 or the central administration tool 14 transmits the selected attribute data to the affected resources in a group transmission to multiple resources. That is, the file or data structure 24 may be distributed to multiple servers simultaneously to efficiently update the affected resources. An affected resource refers to any resource in which an update or change in attribute data is present in the data structure 24. The first technique may be applied where an administrative account is assigned a global password and a global log-in identifier, for example”).
Regarding claim 16, Kilmer teaches
A system for (see Kilmer, [0046] “Described herein are exemplary embodiments of systems”) updating a data repository stored at a remote server (see Kilmer, [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”; [0015] “transmitting an instruction to the remote server to register the optical code by uniquely associating the entry in the database with the information associated with registering the optical code”) using one or more applications associated with an optical code, (see Kilmer, [0053] “Server 110 may be a database server, a web server, an application server, or any type of microprocessor-based device suitable for transmitting, receiving, and storing data”; [0071] “The optical codes may be generated and stored by server 110”) the system comprising: one or more processors and memory storing one or more computer programs that include computer instructions, which when executed by the one or more processors, cause the system to: (see Kilmer, [0027] “the system comprising a display, one or more processors, and memory storing instructions executable by the one or more processors to cause the system to”).
decode one or more identifying values encoded in the optical code detected by a device comprising an optical detector and a display; (see Kilmer, [0020] “decode an identifying value encoded in the optical code”; [0081] “The decoded information may cause mobile device 108 to transmit information to server 110 that allows server 110 to identify the digital label entry associated with the optical code”; [0020] “detect, by the optical sensor, an optical code, wherein the optical code is physically associated with an object”; [0046] “The system allows for the collection of data corresponding to any measurable or observable characteristic of an object by receiving data transmitted by a mobile device that has detected the optical code associated with the object”; [0020] “a device comprising a display, an optical sensor”; [0083] “mobile device 108 may display an interface”).
transmit information including the one or more identifying values to the server; (see Kilmer, [0020] “transmit geographic information from the GPS sensor to a remote server, wherein the geographic information is transmitted in accordance with the decoded identifying value”; [0081] “The decoded information may cause mobile device 108 to transmit information to server 110 that allows server 110 to identify the digital label entry associated with the optical code”) and identifying information associated with a user of the device to the remote server; (see Kilmer, [0087] “detecting an input, such as a name, from the user, mobile device 108 may transmit, to server 110, the information entered by the user. Server 110 may store, in a data object associated with the digital label entry corresponding to the optical code, the name entered by the user”; [0081] “Based on the information transmitted by mobile device 108, server 110 may transmit information to mobile device 108, such as the identity of the digital label entry associated with the optical code, a name previously assigned to the digital label entry by a user”).
receive data… from the remote server based on the one or more identifying values, (see Kilmer, [0085] “after receiving, from mobile device 108, information indicating that an optical code has been scanned, server 110 may access data associated with the optical code determine whether the optical code has previously been registered… server 110 may identify the digital label entry associated with the optical code... Server 110 may determine, based on the data, whether the optical code has previously registered and transmit, to mobile device 108, information indicating whether the optical code has previously been registered”; [0053] “Server 110 may be a database server, a web server, an application server, or any type of microprocessor-based device suitable for transmitting, receiving, and storing data”; [0003] “customizable data collection system that can collect and store different types of data for different applications”) wherein the received data… from the remote server is obtained by the remote server (see Kilmer, [0085] “after receiving, from mobile device 108, information indicating that an optical code has been scanned, server 110 may access data associated with the optical code determine whether the optical code has previously been registered… server 110 may identify the digital label entry associated with the optical code... Server 110 may determine, based on the data, whether the optical code has previously registered and transmit, to mobile device 108, information indicating whether the optical code has previously been registered”; [0053] “Server 110 may be a database server, a web server, an application server, or any type of microprocessor-based device suitable for transmitting, receiving, and storing data”; [0003] “customizable data collection system that can collect and store different types of data for different applications”) based on the identifying information associated with the user of the device; (see Kilmer, [0087] “detecting an input, such as a name, from the user, mobile device 108 may transmit, to server 110, the information entered by the user. Server 110 may store, in a data object associated with the digital label entry corresponding to the optical code, the name entered by the user”; [0081] “Based on the information transmitted by mobile device 108, server 110 may transmit information to mobile device 108, such as the identity of the digital label entry associated with the optical code, a name previously assigned to the digital label entry by a user”).
cause display of a visual indicator of the one or more applications at the display of the device (see Kilmer, [0098]-[0099] “interfaces 402a-402e may be displayed by terminal 200 of system 100… interfaces 402a-402e may be displayed by any electronic computing device, such as a laptop computer, desktop computer, smart-phone, tablet, or other electronic computing device configured to display one or more of interfaces 402a-402e and to receive one or more inputs from a user, as discussed herein, to control the operation of the interface and operation of a data collection system such as system 100… may include displaying one or more of the interfaces shown in FIGS. 4A-E… Interfaces 402a-402e may… be interrelated interfaces of a single program or application configured to be used in connection with one another”) based on the received data,… (see Kilmer, [0046] “methods for configuring and deploying a customizable data collection system. The system provides for the creation of customizable data profiles that correspond to real-world objects having unique measurable characteristics. The system provides for the creation of unique optical codes that may be deployed and physically associated with objects to be measured. In this way, the optical codes may uniquely identify each measured object in the system. The system allows for the collection of data corresponding to any measurable or observable characteristic of an object by receiving data transmitted by a mobile device that has detected the optical code associated with the object”) the data repository… within the data repository; (see Kilmer, [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”).
detect a user selection of a visual indicator of the one or more visual indicators associated with an application of the one or more applications; (see Kilmer, [0099] “Interfaces 402a-402e may… be interrelated interfaces of a single program or application configured to be used in connection with one another. For example, each of the interfaces 402a-402e may be different screens that are selectively accessible from a mobile application or other computer program configured to work in conjunction with one or more electronic devices in order to configure and manage a data collection system”).
cause display of a user interface associated with the application based on the user selection, (see Kilmer, [0100] “FIG. 4A shows data profile definition interface 402a, according to some embodiments. Data profile creation interface 402a may… be an interface configured to allow a user to create or modify a data profile by naming the profile and defining characteristics to be associated with the data profile”) wherein the user interface comprises a prompt for a user input for updating one or more keyed values in the data repository; (see Kilmer, [0100] “FIG. 4A shows data profile definition interface 402a, according to some embodiments. Data profile creation interface 402a may… be an interface configured to allow a user to create or modify a data profile by naming the profile and defining characteristics to be associated with the data profile”; [0102] “data profile definition interface 402a may comprise one or more characteristic toggle icons 406a-406c that allow a user to select pre-defined characteristics to be associated with the data profile… a user may select one or more of characteristic toggle icons 406a-406c to associate the corresponding characteristic with the data profile… may allow a user to choose whether a data profile accepts pictures, whether a data profile requests information regarding whether or not an object is damaged, and/or whether a digital label entry and/or optical code associated with the data profile is disabled after a final event is received”; [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”).
receive one or more inputs comprising information associated with the one or more keyed values to be updated via the user interface; and (see Kilmer, [0102]-[0103] “characteristic toggle icons 406a-406c may be interactive affordances, in that they may be clicked, tapped, pressed, or otherwise selected in order to indicate selection or deselection of the corresponding characteristic… characteristics field 408 may be a text field configured to accept input from a user… characteristics field 408 may be configured to allow a user to enter text corresponding to one or more characteristics (for example, multiple characteristics may be delineated by commas, semicolons, or another suitable notation)…. characteristics field 408 may be configured to accept measurement characteristics, event characteristics, and/or other characteristics to be associated with the data profile”).
…based on the one or more inputs… (see Kilmer, [0102]-[0103] “characteristic toggle icons 406a-406c may be interactive affordances, in that they may be clicked, tapped, pressed, or otherwise selected in order to indicate selection or deselection of the corresponding characteristic… characteristics field 408 may be a text field configured to accept input from a user… characteristics field 408 may be configured to allow a user to enter text corresponding to one or more characteristics (for example, multiple characteristics may be delineated by commas, semicolons, or another suitable notation)…. characteristics field 408 may be configured to accept measurement characteristics, event characteristics, and/or other characteristics to be associated with the data profile”) comprises an instruction instructing the remote server to… (see Kilmer, [0015] “transmitting an instruction to the remote server to register the optical code by uniquely associating the entry in the database with the information associated with registering the optical code”; [0081] “may cause mobile device 108 to transmit information to server 110 that allows server 110 to”) update in the data repository based on the one or more inputs store in the data repository (see Kilmer, [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”; [0015] “transmitting an instruction to the remote server to register the optical code by uniquely associating the entry in the database with the information associated with registering the optical code”) based on the one or more inputs (see Kilmer, [0102]-[0103] “characteristic toggle icons 406a-406c may be interactive affordances, in that they may be clicked, tapped, pressed, or otherwise selected in order to indicate selection or deselection of the corresponding characteristic… characteristics field 408 may be a text field configured to accept input from a user… characteristics field 408 may be configured to allow a user to enter text corresponding to one or more characteristics (for example, multiple characteristics may be delineated by commas, semicolons, or another suitable notation)…. characteristics field 408 may be configured to accept measurement characteristics, event characteristics, and/or other characteristics to be associated with the data profile”).
Kilmer does not explicitly teach receiving data indicating the one or more applications; wherein the received data indicating the one or more applications; wherein the one or more applications are respectively configured to enable access to one or more portions of the data repository based on respective permissions of the one or more applications; transmit information to the remote server, wherein the information update one or more keyed values.
However, Stone discloses selection and update of data and teaches
receiving data indicating the one or more applications... the received data indicating the one or more applications (see Stone, [0080] “through an nth application 202 provide reports of security data (e.g., application security data) to the security message queue 206. The first application 200 represents an illustrative example of the first resource 36. Similarly, where a total of two applications are present (i.e., n equals 2), the nth application 202 represents an illustrative example of the second resource 50. The security message queue 206 of the log-in module 204 collects security data on clients and network usage. The security message queue 206 holds the security data until the security data is processed”; [claim 34] “receiving data messages reported from applications”).
wherein the one or more applications are respectively configured to enable access to one or more portions of data based on respective permissions of the one or more applications (see Stone, [0055] “A directory service system 32 refers to a service that identifies resources (36, 50) associated with a communications network and accessibility measures for making the resources (36, 50) accessible to clients 46, users and applications”; [0059] “directory services system 32 may support user authentication of a user and a single entry of a log-in identifier and a password to provide access to multiple resources (e.g., applications)… The directory services may support the assignment of attributes and attribute values to corresponding users. Attribute values may include user rights, permissions and control permissions for interacting with resources or objects. An object may be associated with object attributes. The objects may include limitations on the control presentation manipulation and access of objects, for example”).
transmit information… to the remote server, wherein the information… update one or more keyed values (see Stone, [0113] “a request is arranged into a file for transmission over a communications network 22”; [0051] “allows operation and maintenance of one or more servers or resources to be executed remotely from the user interface 12”; [0120] “a server 326, transaction handler 92, or transaction server 78 determines the viability of the request or attempts to execute a request with respect to at least one resource (88 or 93)… the transaction handler 92 attempts to execute a request with respect to a data storage allocation associated with one or more applications (e.g., a first application 98 and a second application 99) or a resource (88 or 93). Accordingly, the server 326 or the transaction server 78 transmits a request to change, modify, add or delete attribute data (e.g., an attribute value) of a resource (88 or 93) consistent with the request in the file received via the communications network 22”; [0125] “if the request is viable, attribute data is updated for at least one of following: a resource (88 or 93), a directory services data storage 86, and a directory services system 95… the first application data storage 82, the second application data storage 84, or both may modify, add, or delete an attribute value consistent with the request in the file received via the communications network 22”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the functionality of receiving data indicating applications, applications accessing data based on permissions and transmitting information to remote server to update values as being disclosed and taught by Stone, in the system taught by Kilmer to yield the predictable results of distributing file or data to multiple servers simultaneously to efficiently update the affected resources (see Stone, [0049] “Under a first technique, the transmitter 20 or the central administration tool 14 transmits the selected attribute data to the affected resources in a group transmission to multiple resources. That is, the file or data structure 24 may be distributed to multiple servers simultaneously to efficiently update the affected resources. An affected resource refers to any resource in which an update or change in attribute data is present in the data structure 24. The first technique may be applied where an administrative account is assigned a global password and a global log-in identifier, for example”).
Claim 17 incorporates substantively all the limitations of claim 16 in a computer-readable medium form (see Kilmer, [0138] “Storage 704 can be a non-transitory computer-readable storage medium comprising one or more programs, which, when executed by one or more processors, such as processor 701, cause the one or more processors to execute methods described herein”) and is rejected under the same rationale.
Regarding claim 22, Kilmer teaches
A non-transitory computer readable storage medium storing instructions for updating a data repository using one or more applications associated with an optical code, the instructions configured to be executed by a system, the system comprising one or more processors to cause the system to: (see Kilmer, [0138] “Storage 704 can be a non-transitory computer-readable storage medium comprising one or more programs, which, when executed by one or more processors, such as processor 701, cause the one or more processors to execute methods described herein”).
at a server: receive data comprising one or more identifying values decoded from an optical code and (see Kilmer, [0020] “decode an identifying value encoded in the optical code; transmit geographic information from the GPS sensor to a remote server, wherein the geographic information is transmitted in accordance with the decoded identifying value”; [0081] “The decoded information may cause mobile device 108 to transmit information to server 110 that allows server 110 to identify the digital label entry associated with the optical code”) identifying information associated with a user of a mobile device; (see Kilmer, [0087] “detecting an input, such as a name, from the user, mobile device 108 may transmit, to server 110, the information entered by the user. Server 110 may store, in a data object associated with the digital label entry corresponding to the optical code, the name entered by the user”; [0081] “Based on the information transmitted by mobile device 108, server 110 may transmit information to mobile device 108, such as the identity of the digital label entry associated with the optical code, a name previously assigned to the digital label entry by a user”).
transmit data… based on the one or more identifying values (see Kilmer, [0020] “decode an identifying value encoded in the optical code; transmit geographic information from the GPS sensor to a remote server, wherein the geographic information is transmitted in accordance with the decoded identifying value”; [0081] “The decoded information may cause mobile device 108 to transmit information to server 110 that allows server 110 to identify the digital label entry associated with the optical code”) to the mobile device, wherein the transmitted data… (see Kilmer, [0085] “after receiving, from mobile device 108, information indicating that an optical code has been scanned, server 110 may access data associated with the optical code determine whether the optical code has previously been registered… server 110 may identify the digital label entry associated with the optical code... Server 110 may determine, based on the data, whether the optical code has previously registered and transmit, to mobile device 108, information indicating whether the optical code has previously been registered”; [0053] “Server 110 may be a database server, a web server, an application server, or any type of microprocessor-based device suitable for transmitting, receiving, and storing data”; [0003] “customizable data collection system that can collect and store different types of data for different applications”) is obtained by the server based on the identifying information associated with the user of the mobile device and… (see Kilmer, [0087] “detecting an input, such as a name, from the user, mobile device 108 may transmit, to server 110, the information entered by the user. Server 110 may store, in a data object associated with the digital label entry corresponding to the optical code, the name entered by the user”; [0081] “Based on the information transmitted by mobile device 108, server 110 may transmit information to mobile device 108, such as the identity of the digital label entry associated with the optical code, a name previously assigned to the digital label entry by a user”) the data repository… within the data repository; (see Kilmer, [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”).
… based on one or more inputs provided at a user interface (see Kilmer, [0102]-[0103] “characteristic toggle icons 406a-406c may be interactive affordances, in that they may be clicked, tapped, pressed, or otherwise selected in order to indicate selection or deselection of the corresponding characteristic… characteristics field 408 may be a text field configured to accept input from a user… characteristics field 408 may be configured to allow a user to enter text corresponding to one or more characteristics (for example, multiple characteristics may be delineated by commas, semicolons, or another suitable notation)…. characteristics field 408 may be configured to accept measurement characteristics, event characteristics, and/or other characteristics to be associated with the data profile”) of the mobile device, (see Kilmer, [0099] “each of the interfaces 402a-402e may be different screens that are selectively accessible from a mobile application”) the user interface associated with a selected application of the one or more applications,… (see Kilmer, [0099] “Interfaces 402a-402e may… be interrelated interfaces of a single program or application configured to be used in connection with one another. For example, each of the interfaces 402a-402e may be different screens that are selectively accessible from a mobile application or other computer program configured to work in conjunction with one or more electronic devices in order to configure and manage a data collection system”) comprises an instruction instructing the server to… (see Kilmer, [0015] “transmitting an instruction to the remote server to register the optical code by uniquely associating the entry in the database with the information associated with registering the optical code”; [0081] “may cause mobile device 108 to transmit information to server 110 that allows server 110 to”) store in the data repository (see Kilmer, [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”; [0015] “transmitting an instruction to the remote server to register the optical code by uniquely associating the entry in the database with the information associated with registering the optical code”) based on the one or more inputs; and (see Kilmer, [0102]-[0103] “characteristic toggle icons 406a-406c may be interactive affordances, in that they may be clicked, tapped, pressed, or otherwise selected in order to indicate selection or deselection of the corresponding characteristic… characteristics field 408 may be a text field configured to accept input from a user… characteristics field 408 may be configured to allow a user to enter text corresponding to one or more characteristics (for example, multiple characteristics may be delineated by commas, semicolons, or another suitable notation)…. characteristics field 408 may be configured to accept measurement characteristics, event characteristics, and/or other characteristics to be associated with the data profile”).
…store in in the data repository (see Kilmer, [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”; [0015] “transmitting an instruction to the remote server to register the optical code by uniquely associating the entry in the database with the information associated with registering the optical code”) based on the received information (see Kilmer, [0046] “methods for configuring and deploying a customizable data collection system. The system provides for the creation of customizable data profiles that correspond to real-world objects having unique measurable characteristics. The system provides for the creation of unique optical codes that may be deployed and physically associated with objects to be measured. In this way, the optical codes may uniquely identify each measured object in the system. The system allows for the collection of data corresponding to any measurable or observable characteristic of an object by receiving data transmitted by a mobile device that has detected the optical code associated with the object”).
Kilmer does not explicitly teach transmit data indicating the one or more applications; wherein the one or more applications are respectively configured to enable access to one or more portions of the data repository based on respective permissions of the one or more applications; receive information, wherein the information update one or more keyed values; update the one or more keyed values.
However, Stone discloses selection and update of data and teaches
transmit data indicating the one or more applications… indicating the one or more applications (see Stone, [0080] “through an nth application 202 provide reports of security data (e.g., application security data) to the security message queue 206. The first application 200 represents an illustrative example of the first resource 36. Similarly, where a total of two applications are present (i.e., n equals 2), the nth application 202 represents an illustrative example of the second resource 50. The security message queue 206 of the log-in module 204 collects security data on clients and network usage. The security message queue 206 holds the security data until the security data is processed”; [claim 34] “receiving data messages reported from applications”) wherein the one or more applications are respectively configured to enable access to one or more portions of data based on respective permissions of the one or more applications (see Stone, [0055] “A directory service system 32 refers to a service that identifies resources (36, 50) associated with a communications network and accessibility measures for making the resources (36, 50) accessible to clients 46, users and applications”; [0059] “directory services system 32 may support user authentication of a user and a single entry of a log-in identifier and a password to provide access to multiple resources (e.g., applications)… The directory services may support the assignment of attributes and attribute values to corresponding users. Attribute values may include user rights, permissions and control permissions for interacting with resources or objects. An object may be associated with object attributes. The objects may include limitations on the control presentation manipulation and access of objects, for example”).
receive information… wherein the information… update one or more keyed values (see Stone, [0113] “a request is arranged into a file for transmission over a communications network 22”; [0051] “allows operation and maintenance of one or more servers or resources to be executed remotely from the user interface 12”; [0120] “a server 326, transaction handler 92, or transaction server 78 determines the viability of the request or attempts to execute a request with respect to at least one resource (88 or 93)… the transaction handler 92 attempts to execute a request with respect to a data storage allocation associated with one or more applications (e.g., a first application 98 and a second application 99) or a resource (88 or 93). Accordingly, the server 326 or the transaction server 78 transmits a request to change, modify, add or delete attribute data (e.g., an attribute value) of a resource (88 or 93) consistent with the request in the file received via the communications network 22”; [0125] “if the request is viable, attribute data is updated for at least one of following: a resource (88 or 93), a directory services data storage 86, and a directory services system 95… the first application data storage 82, the second application data storage 84, or both may modify, add, or delete an attribute value consistent with the request in the file received via the communications network 22”).
update the one or more keyed values (see Stone, [0113] “a request is arranged into a file for transmission over a communications network 22”; [0051] “allows operation and maintenance of one or more servers or resources to be executed remotely from the user interface 12”; [0120] “a server 326, transaction handler 92, or transaction server 78 determines the viability of the request or attempts to execute a request with respect to at least one resource (88 or 93)… the transaction handler 92 attempts to execute a request with respect to a data storage allocation associated with one or more applications (e.g., a first application 98 and a second application 99) or a resource (88 or 93). Accordingly, the server 326 or the transaction server 78 transmits a request to change, modify, add or delete attribute data (e.g., an attribute value) of a resource (88 or 93) consistent with the request in the file received via the communications network 22”; [0125] “if the request is viable, attribute data is updated for at least one of following: a resource (88 or 93), a directory services data storage 86, and a directory services system 95… the first application data storage 82, the second application data storage 84, or both may modify, add, or delete an attribute value consistent with the request in the file received via the communications network 22”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the functionality of transmitting data indicating applications, applications accessing data based on permissions and receiving information to update values as being disclosed and taught by Stone, in the system taught by Kilmer to yield the predictable results of distributing file or data to multiple servers simultaneously to efficiently update the affected resources (see Stone, [0049] “Under a first technique, the transmitter 20 or the central administration tool 14 transmits the selected attribute data to the affected resources in a group transmission to multiple resources. That is, the file or data structure 24 may be distributed to multiple servers simultaneously to efficiently update the affected resources. An affected resource refers to any resource in which an update or change in attribute data is present in the data structure 24. The first technique may be applied where an administrative account is assigned a global password and a global log-in identifier, for example”).
Regarding claim 5, the proposed combination of Kilmer and Stone teaches
wherein the prompt comprises a request for (see Kilmer, [0100] “FIG. 4A shows data profile definition interface 402a, according to some embodiments. Data profile creation interface 402a may… be an interface configured to allow a user to create or modify a data profile by naming the profile and defining characteristics to be associated with the data profile”; [0102] “data profile definition interface 402a may comprise one or more characteristic toggle icons 406a-406c that allow a user to select pre-defined characteristics to be associated with the data profile… a user may select one or more of characteristic toggle icons 406a-406c to associate the corresponding characteristic with the data profile… may allow a user to choose whether a data profile accepts pictures, whether a data profile requests information regarding whether or not an object is damaged, and/or whether a digital label entry and/or optical code associated with the data profile is disabled after a final event is received”) an identifier from a user of the device, and (see Kilmer, [0087] “detecting an input, such as a name, from the user, mobile device 108 may transmit, to server 110, the information entered by the user. Server 110 may store, in a data object associated with the digital label entry corresponding to the optical code, the name entered by the user”; [0081] “Based on the information transmitted by mobile device 108, server 110 may transmit information to mobile device 108, such as the identity of the digital label entry associated with the optical code, a name previously assigned to the digital label entry by a user”) wherein access to the application is restricted to one or more identifiers (see Stone, [0055] “A directory service system 32 refers to a service that identifies resources (36, 50) associated with a communications network and accessibility measures for making the resources (36, 50) accessible to clients 46, users and applications”; [0059] “directory services system 32 may support user authentication of a user and a single entry of a log-in identifier and a password to provide access to multiple resources (e.g., applications)… The directory services may support the assignment of attributes and attribute values to corresponding users. Attribute values may include user rights, permissions and control permissions for interacting with resources or objects. An object may be associated with object attributes. The objects may include limitations on the control presentation manipulation and access of objects, for example”) stored in association with the application (see Stone, [0029] “the first security manager 38 may have a first set of passwords and log-in identifiers for granting access of one or more clients 46 to the first resource 36. Similarly, the second resource 50 identifier may have a second set of log-in identifiers and passwords for granting access of one or more clients 46 to the second resource 50”; [0105] “a data storage allocation associated with an application (98, 99)”) in the data repository (see Kilmer, [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”; [0015] “transmitting an instruction to the remote server to register the optical code by uniquely associating the entry in the database with the information associated with registering the optical code”). The motivation for the proposed combination is maintained.
Regarding claim 11, the proposed combination of Kilmer and Stone teaches
wherein the one or more keyed values comprise: an event associated with an asset, a measured characteristic of the asset, (see Kilmer, [0103] “characteristics field 408 may be a text field configured to accept input from a user. In some embodiments, characteristics field 408 may be configured to allow a user to enter text corresponding to one or more characteristics (for example, multiple characteristics may be delineated by commas, semicolons, or another suitable notation)… characteristics field 408 may be configured to accept measurement characteristics, event characteristics, and/or other characteristics to be associated with the data profile”).
Regarding claim 12, the proposed combination of Kilmer and Stone teaches
wherein updating the one or more keyed values comprises: adding a keyed value (see Stone, [0113] “a request is arranged into a file for transmission over a communications network 22”; [0051] “allows operation and maintenance of one or more servers or resources to be executed remotely from the user interface 12”; [0120] “a server 326, transaction handler 92, or transaction server 78 determines the viability of the request or attempts to execute a request with respect to at least one resource (88 or 93)… the transaction handler 92 attempts to execute a request with respect to a data storage allocation associated with one or more applications (e.g., a first application 98 and a second application 99) or a resource (88 or 93). Accordingly, the server 326 or the transaction server 78 transmits a request to change, modify, add or delete attribute data (e.g., an attribute value) of a resource (88 or 93) consistent with the request in the file received via the communications network 22”; [0125] “if the request is viable, attribute data is updated for at least one of following: a resource (88 or 93), a directory services data storage 86, and a directory services system 95… the first application data storage 82, the second application data storage 84, or both may modify, add, or delete an attribute value consistent with the request in the file received via the communications network 22”) to the data repository, (see Kilmer, [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”; [0015] “transmitting an instruction to the remote server to register the optical code by uniquely associating the entry in the database with the information associated with registering the optical code”). The motivation for the proposed combination is maintained.
Regarding claim 15, the proposed combination of Kilmer and Stone teaches
wherein the device is a mobile phone (see Kilmer, [0020] “detect, by the optical sensor, an optical code, wherein the optical code is physically associated with an object”; [0046] “The system allows for the collection of data corresponding to any measurable or observable characteristic of an object by receiving data transmitted by a mobile device that has detected the optical code associated with the object”).
Claims 3-4 and 13-14 are rejected under 35 U.S.C. 103 as being unpatentable over Kilmer and Stone in view of Sganga et al. (US 11,147,635 B1, hereinafter “Sganga”).
Regarding claim 3, the proposed combination of Kilmer and Stone teaches
wherein the identifying information associated with the user of the device comprises (see Kilmer, [0087] “detecting an input, such as a name, from the user, mobile device 108 may transmit, to server 110, the information entered by the user. Server 110 may store, in a data object associated with the digital label entry corresponding to the optical code, the name entered by the user”; [0081] “Based on the information transmitted by mobile device 108, server 110 may transmit information to mobile device 108, such as the identity of the digital label entry associated with the optical code, a name previously assigned to the digital label entry by a user”).
The proposed combination of Kilmer and Stone does not explicitly teach wherein the identifying information associated with the user of the device comprises a browser cookie.
However, Sganga discloses image processing system and teaches
a browser cookie include storing information on a user computer (see Sganga, [col 49 lines 24-38] “A cookie, also referred to as an HTTP cookie, a web cookie, an internet cookie, and a browser cookie, can include data sent from a website and/or stored on a user's computer. This data can be stored by a user's web browser while the user is browsing… Cookies can also include information that the user enters, such as names, addresses, passwords, credit card information, etc. Cookies can also perform computer functions… authentication cookies can be used by applications (for example, a web browser) to identify whether the user is already logged in (for example, to a web site)”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the functionality of browser cookie as being disclosed and taught by Sganga, in the system taught by the proposed combination of Kilmer and Stone to yield the predictable results of utilizing cookies to track user information and providing authentication (see Sganga, [col 49 lines 24-41] “A cookie, also referred to as an HTTP cookie, a web cookie, an internet cookie, and a browser cookie, can include data sent from a website and/or stored on a user's computer. This data can be stored by a user's web browser while the user is browsing… Cookies can also include information that the user enters, such as names, addresses, passwords, credit card information, etc. Cookies can also perform computer functions… authentication cookies can be used by applications (for example, a web browser) to identify whether the user is already logged in (for example, to a web site)… Tracking cookies can be used to compile historical browsing histories of individuals”).
Regarding claim 4, the proposed combination of Kilmer and Stone teaches
wherein the respective permissions of the one or more applications are based on attributes… (see Stone, [0055] “A directory service system 32 refers to a service that identifies resources (36, 50) associated with a communications network and accessibility measures for making the resources (36, 50) accessible to clients 46, users and applications”; [0059] “directory services system 32 may support user authentication of a user and a single entry of a log-in identifier and a password to provide access to multiple resources (e.g., applications)… The directory services may support the assignment of attributes and attribute values to corresponding users. Attribute values may include user rights, permissions and control permissions for interacting with resources or objects. An object may be associated with object attributes. The objects may include limitations on the control presentation manipulation and access of objects, for example”) of the data repository (see Kilmer, [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”; [0015] “transmitting an instruction to the remote server to register the optical code by uniquely associating the entry in the database with the information associated with registering the optical code”).
The proposed combination of Kilmer and Stone does not explicitly teach a respective position of the one or more applications within a hierarchy.
However, Sganga discloses image processing system and teaches
a respective position of the one or more applications within a hierarchy (see Sganga, [col 45 lines 1-4] “monitoring hierarchy of FIG. 25, the system application can be configured to monitor a key set of applications to verify that they in proper operational order and reporting updated information”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the functionality of position of application within a hierarchy as being disclosed and taught by Sganga, in the system taught by the proposed combination of Kilmer and Stone to yield the predictable results of effectively monitoring the applications (see Sganga, [col 45 lines 1-12] “monitoring hierarchy of FIG. 25, the system application can be configured to monitor a key set of applications to verify that they in proper operational order and reporting updated information. If any of these second tier applications have issues either internally or with the sub-components that they manage then they will go into a fault state and should be sure to include the information needed for the system application to decide the appropriate action it should take to clear faults and resume operation (whether that is to send a clear faults signal to the application, post a message to the user, or even begin log upload and automatically start the complaint investigation process with the FDA)”).
Regarding claim 13, the proposed combination of Kilmer and Stone teaches
transmitting, by the remote server, (see Kilmer, [0090] “Server 110 may transmit information to mobile device 108 confirming receipt of the data automatically transmitted by mobile device 108”) a notification to central administration tool based on the update to the one or more keyed values (see Stone, [0106] “generates an acknowledgement for transmission to the central administration tool 14. The acknowledgement message contains data on whether or not the request updated a value of the attribute in data storage for at least one application (98, 99)”) in the data repository, (see Kilmer, [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”; [0015] “transmitting an instruction to the remote server to register the optical code by uniquely associating the entry in the database with the information associated with registering the optical code”) wherein the notification is transmitted to central administration tool (see Stone, [0106] “generates an acknowledgement for transmission to the central administration tool 14. The acknowledgement message contains data on whether or not the request updated a value of the attribute in data storage for at least one application (98, 99)”) a URL associated with remote network resources… (see Kilmer, [0080] “may comprise a URI, URN, and/or URL that mobile device 108 may use to locate and access one or more local or remote network resources”) stored in the data repository (see Kilmer, [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”; [0015] “transmitting an instruction to the remote server to register the optical code by uniquely associating the entry in the database with the information associated with registering the optical code”).
The proposed combination of Kilmer and Stone does not explicitly teach a notification to an external service; a URL associated with the external service stored in the data repository.
However, Sganga discloses image processing system and teaches
provide a communications interface to an external service (see Sganga, [col 47 lines 62-64] “The I/O devices and interfaces 1012 can also provide a communications interface to various external devices”) the external service related to data sources (see Sganga, [col 48 lines 51-53] “The computing system 1002 can include one or more internal and/or external data sources (for example, data sources 1022)”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the functionality of external service as being disclosed and taught by Sganga, in the system taught by the proposed combination of Kilmer and Stone to yield the predictable results of efficiently communicating with a variety of data sources such as DB2, Sybase, Oracle, CodeBase, and Microsoft® SQL Server as well as other types of databases such as a flat-file database, an entity relationship database, and object-oriented database, and/or a record-based database (see Sganga, [col 48 lines 51-59] “The computing system 1002 can include one or more internal and/or external data sources (for example, data sources 1022)… one or more of the data repositories and the data sources described above can be implemented using a relational database, such as DB2, Sybase, Oracle, CodeBase, and Microsoft® SQL Server as well as other types of databases such as a flat-file database, an entity relationship database, and object-oriented database, and/or a record-based database”).
Regarding claim 14, the proposed combination of Kilmer and Stone teaches
wherein the data repository is configured to (see Kilmer, [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”; [0015] “transmitting an instruction to the remote server to register the optical code by uniquely associating the entry in the database with the information associated with registering the optical code”) enable data structure to read, write, and delete data stored (see Stone, [0074] “the server 26 may read the contents of a data structure 24 transmitted from the central administrative tool 14. The data structure 24 allows the administrator to modify, delete, or add an attribute of one or more resources (36, 50) on an administrative level in as few as one transaction required to form the data structure 24”) in the one or more portions of the data repository (see Kilmer, [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”; [0015] “transmitting an instruction to the remote server to register the optical code by uniquely associating the entry in the database with the information associated with registering the optical code”) using one or more application programming interface (API) keys (see Stone, [0034] “comprises a visual basic program or another program that is supported by an application programming interface associated with the directory services system 32”).
The proposed combination of Kilmer and Stone does not explicitly teach one or more external services.
However, Sganga discloses image processing system and teaches
one or more external services (see Sganga, [col 48 lines 51-53] “The computing system 1002 can include one or more internal and/or external data sources (for example, data sources 1022)”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the functionality of external service as being disclosed and taught by Sganga, in the system taught by the proposed combination of Kilmer and Stone to yield the predictable results of efficiently communicating with a variety of data sources such as DB2, Sybase, Oracle, CodeBase, and Microsoft® SQL Server as well as other types of databases such as a flat-file database, an entity relationship database, and object-oriented database, and/or a record-based database (see Sganga, [col 48 lines 51-59] “The computing system 1002 can include one or more internal and/or external data sources (for example, data sources 1022)… one or more of the data repositories and the data sources described above can be implemented using a relational database, such as DB2, Sybase, Oracle, CodeBase, and Microsoft® SQL Server as well as other types of databases such as a flat-file database, an entity relationship database, and object-oriented database, and/or a record-based database”).
Claims 6-7 and 18-19 are rejected under 35 U.S.C. 103 as being unpatentable over Kilmer and Stone in view of Hoberman et al. (US 11,204,690 B1, hereinafter “Hoberman”).
Regarding claim 18, Kilmer teaches
A system for (see Kilmer, [0046] “Described herein are exemplary embodiments of systems”) updating a data repository (see Kilmer, [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”; [0015] “transmitting an instruction to the remote server to register the optical code by uniquely associating the entry in the database with the information associated with registering the optical code”) using one or more applications associated with an optical code, (see Kilmer, [0053] “Server 110 may be a database server, a web server, an application server, or any type of microprocessor-based device suitable for transmitting, receiving, and storing data”; [0071] “The optical codes may be generated and stored by server 110”) the system comprising one or more processors and memory storing one or more computer programs that include computer instructions, which when executed by the one or more processors, cause the system to: (see Kilmer, [0027] “the system comprising a display, one or more processors, and memory storing instructions executable by the one or more processors to cause the system to”).
at a server: receive data comprising one or more identifying values decoded from an optical code and (see Kilmer, [0020] “decode an identifying value encoded in the optical code; transmit geographic information from the GPS sensor to a remote server, wherein the geographic information is transmitted in accordance with the decoded identifying value”; [0081] “The decoded information may cause mobile device 108 to transmit information to server 110 that allows server 110 to identify the digital label entry associated with the optical code”) identifying information associated with a user of a mobile device; (see Kilmer, [0087] “detecting an input, such as a name, from the user, mobile device 108 may transmit, to server 110, the information entered by the user. Server 110 may store, in a data object associated with the digital label entry corresponding to the optical code, the name entered by the user”; [0081] “Based on the information transmitted by mobile device 108, server 110 may transmit information to mobile device 108, such as the identity of the digital label entry associated with the optical code, a name previously assigned to the digital label entry by a user”).
… the received data… (see Kilmer, [0020] “decode an identifying value encoded in the optical code; transmit geographic information from the GPS sensor to a remote server, wherein the geographic information is transmitted in accordance with the decoded identifying value”; [0081] “The decoded information may cause mobile device 108 to transmit information to server 110 that allows server 110 to identify the digital label entry associated with the optical code”) one or more keyed values in the data repository… (see Kilmer, [0100] “FIG. 4A shows data profile definition interface 402a, according to some embodiments. Data profile creation interface 402a may… be an interface configured to allow a user to create or modify a data profile by naming the profile and defining characteristics to be associated with the data profile”; [0102] “data profile definition interface 402a may comprise one or more characteristic toggle icons 406a-406c that allow a user to select pre-defined characteristics to be associated with the data profile… a user may select one or more of characteristic toggle icons 406a-406c to associate the corresponding characteristic with the data profile… may allow a user to choose whether a data profile accepts pictures, whether a data profile requests information regarding whether or not an object is damaged, and/or whether a digital label entry and/or optical code associated with the data profile is disabled after a final event is received”; [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”) based on the received data; (see Kilmer, [0020] “decode an identifying value encoded in the optical code; transmit geographic information from the GPS sensor to a remote server, wherein the geographic information is transmitted in accordance with the decoded identifying value”; [0081] “The decoded information may cause mobile device 108 to transmit information to server 110 that allows server 110 to identify the digital label entry associated with the optical code”).
transmit the data… to the mobile device, wherein the transmitted data… (see Kilmer, [0085] “after receiving, from mobile device 108, information indicating that an optical code has been scanned, server 110 may access data associated with the optical code determine whether the optical code has previously been registered… server 110 may identify the digital label entry associated with the optical code... Server 110 may determine, based on the data, whether the optical code has previously registered and transmit, to mobile device 108, information indicating whether the optical code has previously been registered”; [0053] “Server 110 may be a database server, a web server, an application server, or any type of microprocessor-based device suitable for transmitting, receiving, and storing data”; [0003] “customizable data collection system that can collect and store different types of data for different applications”) is obtained by the server based on the identifying information associated with the user of the mobile device and… (see Kilmer, [0087] “detecting an input, such as a name, from the user, mobile device 108 may transmit, to server 110, the information entered by the user. Server 110 may store, in a data object associated with the digital label entry corresponding to the optical code, the name entered by the user”; [0081] “Based on the information transmitted by mobile device 108, server 110 may transmit information to mobile device 108, such as the identity of the digital label entry associated with the optical code, a name previously assigned to the digital label entry by a user”) the data repository… within the data repository; (see Kilmer, [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”).
… based on one or more inputs provided at a user interface (see Kilmer, [0102]-[0103] “characteristic toggle icons 406a-406c may be interactive affordances, in that they may be clicked, tapped, pressed, or otherwise selected in order to indicate selection or deselection of the corresponding characteristic… characteristics field 408 may be a text field configured to accept input from a user… characteristics field 408 may be configured to allow a user to enter text corresponding to one or more characteristics (for example, multiple characteristics may be delineated by commas, semicolons, or another suitable notation)…. characteristics field 408 may be configured to accept measurement characteristics, event characteristics, and/or other characteristics to be associated with the data profile”) of the mobile device, (see Kilmer, [0099] “each of the interfaces 402a-402e may be different screens that are selectively accessible from a mobile application”) the user interface associated with a selected application of the one or more applications,… (see Kilmer, [0099] “Interfaces 402a-402e may… be interrelated interfaces of a single program or application configured to be used in connection with one another. For example, each of the interfaces 402a-402e may be different screens that are selectively accessible from a mobile application or other computer program configured to work in conjunction with one or more electronic devices in order to configure and manage a data collection system”) comprises an instruction instructing the server to… (see Kilmer, [0015] “transmitting an instruction to the remote server to register the optical code by uniquely associating the entry in the database with the information associated with registering the optical code”; [0081] “may cause mobile device 108 to transmit information to server 110 that allows server 110 to”) store in the data repository (see Kilmer, [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”; [0015] “transmitting an instruction to the remote server to register the optical code by uniquely associating the entry in the database with the information associated with registering the optical code”) based on the one or more inputs; and (see Kilmer, [0102]-[0103] “characteristic toggle icons 406a-406c may be interactive affordances, in that they may be clicked, tapped, pressed, or otherwise selected in order to indicate selection or deselection of the corresponding characteristic… characteristics field 408 may be a text field configured to accept input from a user… characteristics field 408 may be configured to allow a user to enter text corresponding to one or more characteristics (for example, multiple characteristics may be delineated by commas, semicolons, or another suitable notation)…. characteristics field 408 may be configured to accept measurement characteristics, event characteristics, and/or other characteristics to be associated with the data profile”).
store in the data repository (see Kilmer, [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”; [0015] “transmitting an instruction to the remote server to register the optical code by uniquely associating the entry in the database with the information associated with registering the optical code”) based on the received information (see Kilmer, [0046] “methods for configuring and deploying a customizable data collection system. The system provides for the creation of customizable data profiles that correspond to real-world objects having unique measurable characteristics. The system provides for the creation of unique optical codes that may be deployed and physically associated with objects to be measured. In this way, the optical codes may uniquely identify each measured object in the system. The system allows for the collection of data corresponding to any measurable or observable characteristic of an object by receiving data transmitted by a mobile device that has detected the optical code associated with the object”).
Kilmer does not explicitly teach compare the received data to one or more keyed values to identify data indicating the one or more applications; transmit the data indicating the one or more applications, wherein the transmitted data indicating the one or more applications; wherein the one or more applications are respectively configured to enable access to one or more portions of the data repository based on respective permissions of the one or more applications; receive information, wherein the information update the one or more keyed values; update the one or more keyed values.
However, Stone discloses selection and update of data and teaches
to identify data indicating the one or more applications (see Stone, [0080] “through an nth application 202 provide reports of security data (e.g., application security data) to the security message queue 206. The first application 200 represents an illustrative example of the first resource 36. Similarly, where a total of two applications are present (i.e., n equals 2), the nth application 202 represents an illustrative example of the second resource 50. The security message queue 206 of the log-in module 204 collects security data on clients and network usage. The security message queue 206 holds the security data until the security data is processed”; [claim 34] “receiving data messages reported from applications”).
transmit data indicating the one or more applications… transmitted data indicating the one or more applications (see Stone, [0080] “through an nth application 202 provide reports of security data (e.g., application security data) to the security message queue 206. The first application 200 represents an illustrative example of the first resource 36. Similarly, where a total of two applications are present (i.e., n equals 2), the nth application 202 represents an illustrative example of the second resource 50. The security message queue 206 of the log-in module 204 collects security data on clients and network usage. The security message queue 206 holds the security data until the security data is processed”; [claim 34] “receiving data messages reported from applications”) wherein the one or more applications are respectively configured to enable access to one or more portions of data based on respective permissions of the one or more applications (see Stone, [0055] “A directory service system 32 refers to a service that identifies resources (36, 50) associated with a communications network and accessibility measures for making the resources (36, 50) accessible to clients 46, users and applications”; [0059] “directory services system 32 may support user authentication of a user and a single entry of a log-in identifier and a password to provide access to multiple resources (e.g., applications)… The directory services may support the assignment of attributes and attribute values to corresponding users. Attribute values may include user rights, permissions and control permissions for interacting with resources or objects. An object may be associated with object attributes. The objects may include limitations on the control presentation manipulation and access of objects, for example”).
receive information… wherein the information… update one or more keyed values (see Stone, [0113] “a request is arranged into a file for transmission over a communications network 22”; [0051] “allows operation and maintenance of one or more servers or resources to be executed remotely from the user interface 12”; [0120] “a server 326, transaction handler 92, or transaction server 78 determines the viability of the request or attempts to execute a request with respect to at least one resource (88 or 93)… the transaction handler 92 attempts to execute a request with respect to a data storage allocation associated with one or more applications (e.g., a first application 98 and a second application 99) or a resource (88 or 93). Accordingly, the server 326 or the transaction server 78 transmits a request to change, modify, add or delete attribute data (e.g., an attribute value) of a resource (88 or 93) consistent with the request in the file received via the communications network 22”; [0125] “if the request is viable, attribute data is updated for at least one of following: a resource (88 or 93), a directory services data storage 86, and a directory services system 95… the first application data storage 82, the second application data storage 84, or both may modify, add, or delete an attribute value consistent with the request in the file received via the communications network 22”).
update the one or more keyed values (see Stone, [0113] “a request is arranged into a file for transmission over a communications network 22”; [0051] “allows operation and maintenance of one or more servers or resources to be executed remotely from the user interface 12”; [0120] “a server 326, transaction handler 92, or transaction server 78 determines the viability of the request or attempts to execute a request with respect to at least one resource (88 or 93)… the transaction handler 92 attempts to execute a request with respect to a data storage allocation associated with one or more applications (e.g., a first application 98 and a second application 99) or a resource (88 or 93). Accordingly, the server 326 or the transaction server 78 transmits a request to change, modify, add or delete attribute data (e.g., an attribute value) of a resource (88 or 93) consistent with the request in the file received via the communications network 22”; [0125] “if the request is viable, attribute data is updated for at least one of following: a resource (88 or 93), a directory services data storage 86, and a directory services system 95… the first application data storage 82, the second application data storage 84, or both may modify, add, or delete an attribute value consistent with the request in the file received via the communications network 22”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the functionality of transmitting data indicating applications, applications accessing data based on permissions and receiving information to update values as being disclosed and taught by Stone, in the system taught by Kilmer to yield the predictable results of distributing file or data to multiple servers simultaneously to efficiently update the affected resources (see Stone, [0049] “Under a first technique, the transmitter 20 or the central administration tool 14 transmits the selected attribute data to the affected resources in a group transmission to multiple resources. That is, the file or data structure 24 may be distributed to multiple servers simultaneously to efficiently update the affected resources. An affected resource refers to any resource in which an update or change in attribute data is present in the data structure 24. The first technique may be applied where an administrative account is assigned a global password and a global log-in identifier, for example”).
The proposed combination of Kilmer and Stone does not explicitly teach compare the received data to one or more keyed values.
However, Hoberman discloses comparing, versioning and archiving and teaches
compare the updated data to other versions to identify one or more changes (see Hoberman, [col 46 lines 16-26] “a comparison function 270 is executed that is configured to identify one or more changes between the version 280 and the at least one updated version 280. As mentioned above, a user that desires to compare two or more stored versions 280 of an electronic form or form component can access a version history timeline 260 and select the versions 280 that are to be compared. Upon identifying the versions 280 to be compared, the comparison function 270 may be utilized to identify changes between or among two or more stored versions 280 of an electronic form or form component”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the functionality of comparing data, storing new version and archiving previous version of data as being disclosed and taught by Hoberman, in the system taught by the proposed combination of Kilmer and Stone to yield the predictable results of effectively identifying changes between different versions and displaying visual indicators corresponding to one or more changes (see Hoberman, [col 10 lines 3-9] “store the at least one updated version of the electronic form; execute a comparison function that is configured to identify one or more changes between the version of the electronic form and the at least one updated version of the electronic form; and generate a GUI that displays one or more visual indicators corresponding to the one or more changes”).
Regarding claim 6, the proposed combination of Kilmer and Stone teaches
receiving the identifier via the user interface (see Stone, [0019] “The security controller 19 may support an administrator's entry of a global password and an account identifier (e.g., log-in identifier) via the user interface 12”) in response to the prompt; (see Kilmer, [0100] “FIG. 4A shows data profile definition interface 402a, according to some embodiments. Data profile creation interface 402a may… be an interface configured to allow a user to create or modify a data profile by naming the profile and defining characteristics to be associated with the data profile”; [0102] “data profile definition interface 402a may comprise one or more characteristic toggle icons 406a-406c that allow a user to select pre-defined characteristics to be associated with the data profile… a user may select one or more of characteristic toggle icons 406a-406c to associate the corresponding characteristic with the data profile… may allow a user to choose whether a data profile accepts pictures, whether a data profile requests information regarding whether or not an object is damaged, and/or whether a digital label entry and/or optical code associated with the data profile is disabled after a final event is received”).
transmitting (see Kilmer, [0049] “the device may transmit data to server 110 or may prompt the user to enter data regarding the corresponding object 106 to be transmitted to server 110”) the identifier (see Stone, [0019] “The security controller 19 may support an administrator's entry of a global password and an account identifier (e.g., log-in identifier) via the user interface 12”) to the remote server; (see Kilmer, [0049] “the device may transmit data to server 110 or may prompt the user to enter data regarding the corresponding object 106 to be transmitted to server 110”).
… the identifier… (see Stone, [0019] “The security controller 19 may support an administrator's entry of a global password and an account identifier (e.g., log-in identifier) via the user interface 12”) the one or more identifiers stored in association with the application (see Stone, [0029] “the first security manager 38 may have a first set of passwords and log-in identifiers for granting access of one or more clients 46 to the first resource 36. Similarly, the second resource 50 identifier may have a second set of log-in identifiers and passwords for granting access of one or more clients 46 to the second resource 50”; [0105] “a data storage allocation associated with an application (98, 99)”) in the data repository; and (see Kilmer, [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”; [0015] “transmitting an instruction to the remote server to register the optical code by uniquely associating the entry in the database with the information associated with registering the optical code”).
determining whether to enable access to the application (see Stone, [0029] “the first security manager 38 may have a first set of passwords and log-in identifiers for granting access of one or more clients 46 to the first resource 36. Similarly, the second resource 50 identifier may have a second set of log-in identifiers and passwords for granting access of one or more clients 46 to the second resource 50”; [0105] “a data storage allocation associated with an application (98, 99)”).
The proposed combination of Kilmer and Stone does not explicitly teach comparing the identifier to the one or more identifiers stored in association with the application; based on the comparison.
However, Hoberman discloses comparing data and teaches
comparing data to another stored data (see Hoberman, [col 7 lines 4-28] “a comparison function that is configured to identify changes (e.g., additions, deletions, and/or edits) between or among multiple versions of electronic forms… comparison functions which identify changes between or among stored versions of these components”).
based on the comparison (see Hoberman, [col 7 lines 4-28] “a comparison function that is configured to identify changes (e.g., additions, deletions, and/or edits) between or among multiple versions of electronic forms… comparison functions which identify changes between or among stored versions of these components”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the functionality of comparing data as being disclosed and taught by Hoberman, in the system taught by the proposed combination of Kilmer and Stone to yield the predictable results of effectively identifying changes between different versions and displaying visual indicators corresponding to one or more changes (see Hoberman, [col 10 lines 3-9] “store the at least one updated version of the electronic form; execute a comparison function that is configured to identify one or more changes between the version of the electronic form and the at least one updated version of the electronic form; and generate a GUI that displays one or more visual indicators corresponding to the one or more changes”).
Regarding claim 7, the proposed combination of Kilmer, Stone and Hoberman teaches
wherein the one or more identifiers comprise (see Stone, [0019] “The security controller 19 may support an administrator's entry of a global password and an account identifier (e.g., log-in identifier) via the user interface 12”) a name, (see Kilmer, [0083] “the name entered by the user”). The motivation for the proposed combination is maintained.
Regarding claim 19, the proposed combination of Kilmer, Stone and Hoberman teaches
wherein updating the one or more keyed values comprises adding a new keyed value (see Stone, [0113] “a request is arranged into a file for transmission over a communications network 22”; [0051] “allows operation and maintenance of one or more servers or resources to be executed remotely from the user interface 12”; [0120] “a server 326, transaction handler 92, or transaction server 78 determines the viability of the request or attempts to execute a request with respect to at least one resource (88 or 93)… the transaction handler 92 attempts to execute a request with respect to a data storage allocation associated with one or more applications (e.g., a first application 98 and a second application 99) or a resource (88 or 93). Accordingly, the server 326 or the transaction server 78 transmits a request to change, modify, add or delete attribute data (e.g., an attribute value) of a resource (88 or 93) consistent with the request in the file received via the communications network 22”; [0125] “if the request is viable, attribute data is updated for at least one of following: a resource (88 or 93), a directory services data storage 86, and a directory services system 95… the first application data storage 82, the second application data storage 84, or both may modify, add, or delete an attribute value consistent with the request in the file received via the communications network 22”) to the data repository (see Kilmer, [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”; [0015] “transmitting an instruction to the remote server to register the optical code by uniquely associating the entry in the database with the information associated with registering the optical code”) as a new version of the updated keyed value and (see Hoberman, [col 34 lines 55-62] “the user may select a save option 340 to save a new version of the electronic form 155. Each new version of the electronic form 155 may be saved with information identifying the user who created and/or updated the version 280 of the electronic form 155, as well as a timestamp ( e.g., which indicates the date and time the new version was created or updated) and any comments or notes that describe or relate to the version”) archiving the previous version of the keyed value (see Hoberman, [col 8 lines 2-3] “separate archival programs or databases that may store previous versions of an electronic form or form components”) in the data repository (see Kilmer, [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”; [0015] “transmitting an instruction to the remote server to register the optical code by uniquely associating the entry in the database with the information associated with registering the optical code”). The motivation for the proposed combination is maintained.
Claims 8-10 are rejected under 35 U.S.C. 103 as being unpatentable over Kilmer and Stone in view of Sarkar et al. (US 2016/0253486 A1, hereinafter “Sarkar”).
Regarding claim 8, the proposed combination of Kilmer and Stone teaches
wherein each respective indication of the one or more applications associated (see Stone, [0080] “through an nth application 202 provide reports of security data (e.g., application security data) to the security message queue 206. The first application 200 represents an illustrative example of the first resource 36. Similarly, where a total of two applications are present (i.e., n equals 2), the nth application 202 represents an illustrative example of the second resource 50. The security message queue 206 of the log-in module 204 collects security data on clients and network usage. The security message queue 206 holds the security data until the security data is processed”; [claim 34] “receiving data messages reported from applications”) in the data repository (see Kilmer, [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”; [0015] “transmitting an instruction to the remote server to register the optical code by uniquely associating the entry in the database with the information associated with registering the optical code”) applications associated with the optical code (see Kilmer, [0053] “Server 110 may be a database server, a web server, an application server, or any type of microprocessor-based device suitable for transmitting, receiving, and storing data”; [0071] “The optical codes may be generated and stored by server 110”) is displayed… (see Kilmer, [0116] “may display the optical code as part of virtual label interface 402e”) in the data repository (see Kilmer, [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”; [0015] “transmitting an instruction to the remote server to register the optical code by uniquely associating the entry in the database with the information associated with registering the optical code”).
The proposed combination of Kilmer and Stone does not explicitly teach in accordance with a determination that a predefined keyed value associated with the respective application of the one or more applications is stored.
However, Sarkar discloses application device and user authentication and teaches
in accordance with a determination that a predefined keyed value associated with the respective application of the one or more applications is stored (see Sarkar, [0120] “The application threshold values are predefined according to the respective application and accordingly stored in the application threshold database 28 when the authentication system 1 is initialized or when a new application device is added by communication between the authenticator 9 of the respective new application device and the authentication server”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the functionality of keyed value associated with application as being disclosed and taught by Sarkar, in the system taught by the proposed combination of Kilmer and Stone to yield the predictable results of providing improved authentication in a convenient and secure way (see Sarkar, [0014] “The basic idea of one or more embodiments of the present invention is to provide an improved authentication of a requestor, i.e. a user that requests authentication, based on a determination of a probability or likelihood that the requestor is in fact the user who she or he claims to be. The present invention thus provides a convenient and secure way of authentication, which may be used in a variety of applications, in particular, but not limited, in security related applications”).
Regarding claim 9, the proposed combination of Kilmer and Stone teaches
wherein the selected application is configured to (see Kilmer, [0099] “Interfaces 402a-402e may… be interrelated interfaces of a single program or application configured to be used in connection with one another. For example, each of the interfaces 402a-402e may be different screens that are selectively accessible from a mobile application or other computer program configured to work in conjunction with one or more electronic devices in order to configure and manage a data collection system”) enable registration of the optical code (see Kilmer, [0086] “based on a determination that the optical code has not previously been scanned, mobile device 108 may display an interface prompting the user to register the optical code. As above, to register a code, mobile device 108 may display an interface prompting the user to enter a name to be associated with the code”) in the data repository (see Kilmer, [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”; [0015] “transmitting an instruction to the remote server to register the optical code by uniquely associating the entry in the database with the information associated with registering the optical code”) with a unique identifier, (see Kilmer, [0083] “the system may require the name to be unique”) and wherein the registration of the optical code (see Kilmer, [0086] “based on a determination that the optical code has not previously been scanned, mobile device 108 may display an interface prompting the user to register the optical code. As above, to register a code, mobile device 108 may display an interface prompting the user to enter a name to be associated with the code”) in the data repository (see Kilmer, [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”; [0015] “transmitting an instruction to the remote server to register the optical code by uniquely associating the entry in the database with the information associated with registering the optical code”) with the unique identifier… (see Kilmer, [0083] “the system may require the name to be unique”) the application associated with the optical code… (see Kilmer, [0053] “Server 110 may be a database server, a web server, an application server, or any type of microprocessor-based device suitable for transmitting, receiving, and storing data”; [0071] “The optical codes may be generated and stored by server 110”) one or more users associated with the unique identifier (see Kilmer, [0081] “the identity of the digital label entry associated with the optical code, a name previously assigned to the digital label entry by a user”).
The proposed combination of Kilmer and Stone does not explicitly teach restricts access to the application to one or more users.
However, Sarkar discloses application device and user authentication and teaches
restricts access to specific applications to specific users associated with user ID (see Sarkar, [0111] “application includes access to a restricted website 6, e.g., providing access to a specific user account including credit card data for payment purposes on a shopping website”; [0017] “The authorized user in this context may be a user whom is granted access to restricted resources, such as to a device, to information, or to access-restricted locations. In some applications, the authorized user may be associated with a predefined user ID and/or a user account”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the functionality of restricting access to applications as being disclosed and taught by Sarkar, in the system taught by the proposed combination of Kilmer and Stone to yield the predictable results of providing improved authentication in a convenient and secure way (see Sarkar, [0014] “The basic idea of one or more embodiments of the present invention is to provide an improved authentication of a requestor, i.e. a user that requests authentication, based on a determination of a probability or likelihood that the requestor is in fact the user who she or he claims to be. The present invention thus provides a convenient and secure way of authentication, which may be used in a variety of applications, in particular, but not limited, in security related applications”).
Regarding claim 10, the proposed combination of Kilmer, Stone and Sarkar teaches
wherein the one or more inputs comprise (see Kilmer, [0102]-[0103] “characteristic toggle icons 406a-406c may be interactive affordances, in that they may be clicked, tapped, pressed, or otherwise selected in order to indicate selection or deselection of the corresponding characteristic… characteristics field 408 may be a text field configured to accept input from a user… characteristics field 408 may be configured to allow a user to enter text corresponding to one or more characteristics (for example, multiple characteristics may be delineated by commas, semicolons, or another suitable notation)…. characteristics field 408 may be configured to accept measurement characteristics, event characteristics, and/or other characteristics to be associated with the data profile”) the unique identifier and wherein the instruction instructs the remote server to register the optical code (see Kilmer, [0086] “based on a determination that the optical code has not previously been scanned, mobile device 108 may display an interface prompting the user to register the optical code. As above, to register a code, mobile device 108 may display an interface prompting the user to enter a name to be associated with the code”; [0083] “the system may require the name to be unique”) data associated with the application (see Stone, [0080] “through an nth application 202 provide reports of security data (e.g., application security data) to the security message queue 206. The first application 200 represents an illustrative example of the first resource 36. Similarly, where a total of two applications are present (i.e., n equals 2), the nth application 202 represents an illustrative example of the second resource 50. The security message queue 206 of the log-in module 204 collects security data on clients and network usage. The security message queue 206 holds the security data until the security data is processed”; [claim 34] “receiving data messages reported from applications”) in the data repository (see Kilmer, [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”; [0015] “transmitting an instruction to the remote server to register the optical code by uniquely associating the entry in the database with the information associated with registering the optical code”) with the unique identifier by associating the unique identifier with the optical code (see Kilmer, [0087] “Server 110 may store, in a data object associated with the digital label entry corresponding to the optical code, the name entered by the user”) in the data repository (see Kilmer, [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”; [0015] “transmitting an instruction to the remote server to register the optical code by uniquely associating the entry in the database with the information associated with registering the optical code”). The motivation for the proposed combination.
Claims 20-21 are rejected under 35 U.S.C. 103 as being unpatentable over Kilmer, Stone and Hoberman in view of Sganga et al. (US 11,147,635 B1, hereinafter “Sganga”).
Regarding claim 20, the proposed combination of Kilmer, Stone and Hoberman teaches
wherein the computer instructions, when executed by the one or more processors, cause the system to: (see Kilmer, [0138] “Storage 704 can be a non-transitory computer-readable storage medium comprising one or more programs, which, when executed by one or more processors, such as processor 701, cause the one or more processors to execute methods described herein”).
transmit a notification to central administration tool based on the update to the one or more keyed values (see Stone, [0106] “generates an acknowledgement for transmission to the central administration tool 14. The acknowledgement message contains data on whether or not the request updated a value of the attribute in data storage for at least one application (98, 99)”) in the data repository (see Kilmer, [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”; [0015] “transmitting an instruction to the remote server to register the optical code by uniquely associating the entry in the database with the information associated with registering the optical code”).
The proposed combination of Kilmer, Stone and Hoberman does not explicitly teach one or more external services.
However, Sganga discloses image processing system and teaches
provide a communications interface to one or more external services (see Sganga, [col 48 lines 51-53] “The computing system 1002 can include one or more internal and/or external data sources (for example, data sources 1022)”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the functionality of external service as being disclosed and taught by Sganga, in the system taught by the proposed combination of Kilmer, Stone and Hoberman to yield the predictable results of efficiently communicating with a variety of data sources such as DB2, Sybase, Oracle, CodeBase, and Microsoft® SQL Server as well as other types of databases such as a flat-file database, an entity relationship database, and object-oriented database, and/or a record-based database (see Sganga, [col 48 lines 51-59] “The computing system 1002 can include one or more internal and/or external data sources (for example, data sources 1022)… one or more of the data repositories and the data sources described above can be implemented using a relational database, such as DB2, Sybase, Oracle, CodeBase, and Microsoft® SQL Server as well as other types of databases such as a flat-file database, an entity relationship database, and object-oriented database, and/or a record-based database”).
Regarding claim 21, the proposed combination of Kilmer, Stone, Hoberman and Sganga teaches
wherein the notification comprises at least (see Stone, [0106] “generates an acknowledgement for transmission to the central administration tool 14. The acknowledgement message contains data on whether or not the request updated a value of the attribute in data storage for at least one application (98, 99)”) the updated keyed values (see Hoberman, [col 7 lines 58-59] “for creating an updated version that functions properly”). The motivation for the proposed combination is maintained.
Claims 23-24 are rejected under 35 U.S.C. 103 as being unpatentable over Kilmer and Stone in view of Gupta et al. (US 2013/0067072 A1, hereinafter “Gupta”).
Regarding claim 23, the proposed combination of Kilmer and Stone teaches
wherein the received data (see Kilmer, [0085] “after receiving, from mobile device 108, information indicating that an optical code has been scanned, server 110 may access data associated with the optical code determine whether the optical code has previously been registered… server 110 may identify the digital label entry associated with the optical code... Server 110 may determine, based on the data, whether the optical code has previously registered and transmit, to mobile device 108, information indicating whether the optical code has previously been registered”; [0053] “Server 110 may be a database server, a web server, an application server, or any type of microprocessor-based device suitable for transmitting, receiving, and storing data”; [0003] “customizable data collection system that can collect and store different types of data for different applications”) indicating the one or more applications (see Stone, [0080] “through an nth application 202 provide reports of security data (e.g., application security data) to the security message queue 206. The first application 200 represents an illustrative example of the first resource 36. Similarly, where a total of two applications are present (i.e., n equals 2), the nth application 202 represents an illustrative example of the second resource 50. The security message queue 206 of the log-in module 204 collects security data on clients and network usage. The security message queue 206 holds the security data until the security data is processed”; [claim 34] “receiving data messages reported from applications”) from the remote server is obtained by the remote server (see Kilmer, [0085] “after receiving, from mobile device 108, information indicating that an optical code has been scanned, server 110 may access data associated with the optical code determine whether the optical code has previously been registered… server 110 may identify the digital label entry associated with the optical code... Server 110 may determine, based on the data, whether the optical code has previously registered and transmit, to mobile device 108, information indicating whether the optical code has previously been registered”; [0053] “Server 110 may be a database server, a web server, an application server, or any type of microprocessor-based device suitable for transmitting, receiving, and storing data”; [0003] “customizable data collection system that can collect and store different types of data for different applications”) in accordance with a determination by the remote server based on data… (see Kilmer, [0085] “Server 110 may determine, based on the data”).
The proposed combination of Kilmer and Stone does not explicitly teach an access policy governing application access.
However, Gupta discloses access policy and teaches
an access policy governing application access (see Gupta, [0087] “the remote client computer, such as a laptop computer, accesses an application server, an access policy specified for the application server, an IP address of the remote client computer and any other information may be utilized to create the security association”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the functionality of access policy as being disclosed and taught by Gupta, in the system taught by the proposed combination of Kilmer and Stone to yield the predictable results of effectively monitoring and controlling remote access (see Gupta, [0008] “To improve experience of a user, such as a network administrator, monitoring and controlling remote access to resources on an enterprise network, techniques are provided for presenting remote access information to the administrator in a way that indicates which resources are accessed by which remote entity, such as a remote client computer or a user of that computer, via a secure remote network connection over the Internet”).
Regarding claim 24, the proposed combination of Kilmer, Stone and Gupta teaches
wherein the access policy is based at least in part on (see Gupta, [0087] “the remote client computer, such as a laptop computer, accesses an application server, an access policy specified for the application server, an IP address of the remote client computer and any other information may be utilized to create the security association”) whether a value is present in the data structure (see Stone, [0049] “An affected resource refers to any resource in which an update or change in attribute data is present in the data structure 24”; [0059] “directory services system 32 may support user authentication of a user and a single entry of a log-in identifier and a password to provide access to multiple resources (e.g., applications)… The directory services may support the assignment of attributes and attribute values to corresponding users. Attribute values may include user rights, permissions and control permissions for interacting with resources or objects. An object may be associated with object attributes. The objects may include limitations on the control presentation manipulation and access of objects, for example”) the data repository (see Kilmer, [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”; [0015] “transmitting an instruction to the remote server to register the optical code by uniquely associating the entry in the database with the information associated with registering the optical code”). The motivation for the proposed combination is maintained.
Claims 25-26 are rejected under 35 U.S.C. 103 as being unpatentable over Kilmer, Stone and Hoberman in view of Gupta.
Regarding claim 25, the proposed combination of Kilmer, Stone and Hoberman teaches
wherein the transmitted data (see Kilmer, [0085] “after receiving, from mobile device 108, information indicating that an optical code has been scanned, server 110 may access data associated with the optical code determine whether the optical code has previously been registered… server 110 may identify the digital label entry associated with the optical code... Server 110 may determine, based on the data, whether the optical code has previously registered and transmit, to mobile device 108, information indicating whether the optical code has previously been registered”; [0053] “Server 110 may be a database server, a web server, an application server, or any type of microprocessor-based device suitable for transmitting, receiving, and storing data”; [0003] “customizable data collection system that can collect and store different types of data for different applications”) indicating the one or more applications (see Stone, [0080] “through an nth application 202 provide reports of security data (e.g., application security data) to the security message queue 206. The first application 200 represents an illustrative example of the first resource 36. Similarly, where a total of two applications are present (i.e., n equals 2), the nth application 202 represents an illustrative example of the second resource 50. The security message queue 206 of the log-in module 204 collects security data on clients and network usage. The security message queue 206 holds the security data until the security data is processed”; [claim 34] “receiving data messages reported from applications”) is obtained by the remote server (see Kilmer, [0085] “after receiving, from mobile device 108, information indicating that an optical code has been scanned, server 110 may access data associated with the optical code determine whether the optical code has previously been registered… server 110 may identify the digital label entry associated with the optical code... Server 110 may determine, based on the data, whether the optical code has previously registered and transmit, to mobile device 108, information indicating whether the optical code has previously been registered”; [0053] “Server 110 may be a database server, a web server, an application server, or any type of microprocessor-based device suitable for transmitting, receiving, and storing data”; [0003] “customizable data collection system that can collect and store different types of data for different applications”) in accordance with a determination by the remote server based on data (see Kilmer, [0085] “Server 110 may determine, based on the data”).
The proposed combination of Kilmer, Stone and Hoberman does not explicitly teach an access policy governing application access.
However, Gupta discloses access policy and teaches
an access policy governing application access (see Gupta, [0087] “the remote client computer, such as a laptop computer, accesses an application server, an access policy specified for the application server, an IP address of the remote client computer and any other information may be utilized to create the security association”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the functionality of access policy as being disclosed and taught by Gupta, in the system taught by the proposed combination of Kilmer, Stone and Hoberman to yield the predictable results of effectively monitoring and controlling remote access (see Gupta, [0008] “To improve experience of a user, such as a network administrator, monitoring and controlling remote access to resources on an enterprise network, techniques are provided for presenting remote access information to the administrator in a way that indicates which resources are accessed by which remote entity, such as a remote client computer or a user of that computer, via a secure remote network connection over the Internet”).
Regarding claim 26, the proposed combination of Kilmer, Stone, Hoberman and Gupta teaches
wherein the access policy is based at least in part on (see Gupta, [0087] “the remote client computer, such as a laptop computer, accesses an application server, an access policy specified for the application server, an IP address of the remote client computer and any other information may be utilized to create the security association”) whether a value is present in the data structure (see Stone, [0049] “An affected resource refers to any resource in which an update or change in attribute data is present in the data structure 24”; [0059] “directory services system 32 may support user authentication of a user and a single entry of a log-in identifier and a password to provide access to multiple resources (e.g., applications)… The directory services may support the assignment of attributes and attribute values to corresponding users. Attribute values may include user rights, permissions and control permissions for interacting with resources or objects. An object may be associated with object attributes. The objects may include limitations on the control presentation manipulation and access of objects, for example”) the data repository (see Kilmer, [0083] “Server 110 may store, in a data entry, the name entered by the user and associate the data entry with the optical code's corresponding digital label entry. Server 110 may also update data associated with the corresponding digital label entry to indicate that the corresponding optical code has been registered”; [0015] “transmitting an instruction to the remote server to register the optical code by uniquely associating the entry in the database with the information associated with registering the optical code”). The motivation for the proposed combination is maintained.
Conclusion
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 VAISHALI SHAH whose telephone number is (571)272-8532. The examiner can normally be reached Monday - Friday (7:30 AM to 4:00 PM).
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, AJAY BHATIA can be reached at (571)272-3906. 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.
/VAISHALI SHAH/Primary Examiner, Art Unit 2156