IP Library Granted Patent US 11,822,940
Granted Patent B2
US 11,822,940 · App. 17/316,213 · Granted Nov 21, 2023

Determinations of modifications in objects having nested child objects

Inventor: Sudhansu Sekhar Pradhan (Bangalore, IN)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
G06F9/451G06F3/04817G06F3/04842G06F16/215G06F16/2365G06F16/289H04L9/0643
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,822,940
App. No.
17/316,213
Filed
May 10, 2021
Granted
Nov 21, 2023
Kind
B2
Art Unit
2152
USPC
707/747
Abstract

According to examples, an apparatus may include a processor and a memory on which is stored instructions that may cause the processor to determine that information has been inputted into an object, the object including a child object nested within the object. The instructions may also cause the processor to generate a child-object hash value based on contents of the child object, generate a hash value for the object based on contents of the object, the contents of the object including the child-object hash value, and determine whether the generated hash value differs from a stored hash value, the stored hash value corresponding to contents of the object without the inputted information. The instructions may also cause the processor to, based on a determination that the generated hash value differs from the stored hash value, save the object including the child object nested within the object.

Claims (60)

1. An apparatus comprising:

a processor; and

a memory on which is stored machine-readable instructions that when executed by the processor, cause the processor to:

storing a hash value for a parent form, wherein the parent form comprises a plurality of input fields and the stored hash value is based on contents of the plurality of input fields of the parent form;

generate a child-form hash value based on contents of a child form, wherein the child form is nested within the parent form and is accessible through a link in a first input field among the plurality of input fields of the parent form, and wherein the child-form hash value is stored in a second input field among the plurality of input fields in the parent form;

generate a parent-form hash value for the parent form based on the contents of the parent form, the contents of the parent form including the child-form hash value stored in the second input field of the parent form;

determine whether the generated parent-form hash value differs from the stored hash value, the stored hash value corresponding to contents of the parent form without a modification to the parent form;

based on a determination that the generated parent-form hash value differs from the stored hash value, mark the parent form as being dirty; and

in response to the parent form being marked dirty and based on an input to save the parent form, transmit the parent form including the child form to a server to be saved.

2. The apparatus of claim 1 , wherein the instructions cause the processor to:

store the generated parent-form hash value for the parent form in a first data field in the parent form.

3. The apparatus of claim 1 , wherein the instructions cause the processor to:

generate the parent-form hash value for the parent form as a keyed-hash message authentication code (HMAC); and

store the HMAC in a hidden text field in the parent form.

4. The apparatus of claim 1 , wherein, based on a determination that the generated parent-form hash value differs from the stored hash value, the instructions cause the processor to:

output a message to save the parent form;

output an instruction to display a submit button to save the parent form;

receive the input to save the parent form, wherein the input comprises a selection of the submit button; and

responsive to the input to save the parent form, output an instruction to save the generated parent-form hash value as the stored hash value.

5. The apparatus of claim 1 , wherein the instructions further cause the processor to:

based on a determination that the generated parent-form hash value matches the stored hash value, output an indication that the parent form is not modified.

6. The apparatus of claim 1 , wherein the instructions further cause the processor to:

based on a determination that the generated parent-form hash value matches the stored hash value, output an instruction to prevent the parent form from being saved.

7. A method comprising:

storing, by a processor, a first hash value associated with contents of a parent form, the parent form comprising a plurality of input fields and a child form nested within the form, the child form being accessible through a link displayed in a first input field among the plurality of input fields of the parent form to open the child form, wherein the first hash value corresponds to a saved version of the parent form;

determining, by the processor, that information has been inputted into an input field in the child form;

based on a determination that information has been inputted into the child form, generating, by the processor, a second hash value based on contents of the child form, the second hash value being stored in a second input field among the plurality of input fields of the parent form;

generating, by the processor, a third hash value based on contents of the parent form, the contents of the parent form comprising the second hash value stored in the second input field of the parent form;

determining, by the processor, whether the third hash value differs from the first hash value, the third hash value corresponding to an unsaved version of the parent form;

based on a determination that the third hash value differs from the first hash value, marking, by the processor, the parent form as being dirty and based on the parent form being marked dirty and an input to save the parent form in response to the parent form being marked dirty, transmitting, by the processor, the parent form with the nested child form to a server to be saved; and

based on a determination that the third hash value is the same as the first hash value, determining, by the processor, that the parent form is unchanged and outputting, by the processor based on the determination that the parent form is unchanged, an instruction to prevent the first form from being transmitted to the server to be saved.

8. The method of claim 7 , further comprising:

generating the second hash value as a keyed-hash message authentication code (HMAC); and

storing the HMAC in a hidden text field in the parent form.

9. The method of claim 7 , wherein, based on the determination that the third hash value differs from the first hash value, the method further comprising:

outputting a message to save the parent form;

outputting an instruction to display a submit button to save the first form;

receiving the input to save the parent form, wherein the input comprises a selection of the submit button; and

responsive to the input to save the first form, outputting an instruction to save the second hash value to replace the first hash value.

10. The method of claim 7 , further comprising:

based on the determination that the third hash value differs from the first hash value, outputting an output message to save the parent form on the server; and

based on the input in response to the output message to save the parent form, transmitting the parent form with the nested child form to the server to be saved.

11. A non-transitory computer-readable medium on which is stored computer-readable instructions that, when executed by a processor of a server, cause the processor to:

receive a form from a client device, the received form having a plurality of input fields and a child form that is nested within the received form, wherein the child form is accessed through a link in an input field among the plurality of input fields of the received form;

determine a first hash value for the received form, the first hash value being based on input information in the received form and a child-form hash value that is generated based on input information in the child form;

determine whether the received form has been modified based on a comparison between the first hash value and a stored hash value for the received form;

based on a determination that the received form has been modified, mark the received form as dirty; and

based on the form being marked dirty and an input to save the received form, store, within the server, the received form including the child form nested within the received form.

12. The non-transitory computer-readable medium of claim 11 , wherein the instructions cause the processor to:

determine the child-form hash value based on content of input fields in the child form.

13. The non-transitory computer-readable medium of claim 11 , wherein the instructions cause the processor to:

store the first hash value for the received form in a first input field in the received form; and

store the child-form hash value for the child form in a second data field in the received form.

14. The non-transitory computer-readable medium of claim 11 , wherein the instructions cause the processor to:

store the first hash value for the received form in a hidden text field in the received form, wherein the first hash value for the received form is a keyed-hash message authentication code (HMAC).

15. The non-transitory computer-readable medium of claim 11 , wherein the instructions cause the processor to:

retrieve the first hash value from an input field among the plurality of input fields in the received form;

retrieve the stored hash value for the received form from a stored copy of the received form; and

based on the determination that the received form has been modified based on the comparison between the first hash value and the stored hash value, output a message at the client device indicating that the received form is dirty, the outputted message including a selectable object to save the received form; and

based on a selection of the selectable object in the outputted message providing an indication to save the received form, replace, within the server, the stored copy of the received form with the received form including the child form nested within the received form.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2021
From: PRADHAN, SUDHANSU SEKHAR
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 056190/0248 →
Continuity (1)
Related Publication 20220357963A1 · Nov 10, 2022