Free Services  

  • MONITOR KEYWORDS
  • Enter keywords & we'll notify you when a new patent matches your request (weekly update).

  • ORGANIZER
  • Save & organize patents so you can view them later.

  • ARCHIVE
  • View the last few months of your Keyword emails.

  • COMPANY DIRECTORY
  • Patents sorted by company.

Follow us on Twitter
twitter icon@FreshPatents

Browse patents:
NextPrevious

Synchronization of form fields in a client-server environment




Title: Synchronization of form fields in a client-server environment.
Abstract: A database tier maintains and provides access to a database. An application tier receives and responds to requests for a form. The form includes data defining a first UI control for displaying a first value from the database and a second UI control for displaying a second value from the database that is dependent upon the first value. A client tier renders the form to show the first value in the first UI control and to show the second value in the second UI control. The client tier also detects a modification to the first value and causes an updated second value to be generated in response to detecting the modification to the first value. The updated second value is displayed by way of the second UI control. The updated second value is generated at the client tier, the application tier, the database tier, or at a combined application/database tier. ...

Browse recent Microsoft Corporation patents


USPTO Applicaton #: #20120102412
Inventors: Russell Sinclair, Michael Hopkins Smith, Clinton Dee Covington, Jenefer Monroe, Konrad Tupaj


The Patent Description & Claims data below is from USPTO Patent Application 20120102412, Synchronization of form fields in a client-server environment.

BACKGROUND

- Top of Page


Database applications commonly utilize forms to display database information and for data entry. These forms utilize fields to display information retrieved from a database and to collect data for storage in the database. In certain database systems, it is possible to define a field on a form that is dependent upon another field on the form. For instance, a form may be defined for displaying information from a database regarding a customer order. The form might include a first field for showing a customer name and a second field, dependent upon the first field, for showing the street address of the customer selected in the first field.

When a user modifies the value shown by a form field, the user expects any other fields that are dependent upon the modified field to be updated to reflect the modified value. For instance, if a user modifies the customer shown in the first field in the example given above, the user will expect the second field to be updated to reflect the correct street address of the newly selected customer. If dependent fields are not updated in this manner, the user might be presented with stale information and may become confused.

Certain client-side database applications provide functionality for synchronizing form fields in the manner described above. However, in client-server environments, such as database applications implemented via the World Wide Web (“Web”), it can be very expensive in time and performance to synchronize dependent form fields in this way.

It is with respect to these and other considerations that the disclosure made herein is presented.

SUMMARY

- Top of Page


Technologies are described herein for the synchronization of form fields in a client-server environment. Through an implementation of the concepts and technologies presented herein, database forms can be defined for use in a client-server environment that include one or more form fields that are dependent upon other form fields. Values shown by dependent form fields can be updated in an automated fashion in response to the modification of the fields upon which they depend. This can be accomplished utilizing the concepts and technologies presented herein in a client-server environment in a performant manner.

According to one aspect presented herein, functionality is disclosed for defining a database form usable in a client-server environment. Through the use of the design-time functionality disclosed herein, a form can be defined that includes a first user interface (“UI”) control configured to display a first value from a database. The form can also be defined to include a second UI control configured to display a second value from the database, the second value being dependent upon the first value. When a client renders the form, a modification to the first value by way of the first UI control will cause the second UI control to display an updated second value. In this manner, a value displayed by the second UI control is “synchronized” to the value displayed by the first UI control. This can occur without modifying the contents of the database.

According to another aspect, one or more user interfaces may also be provided for specifying at design-time whether the updated second value should be generated at a client tier, such as a Web browser application program, or at a server computer. An application tier, a database tier, or a combined application/database tier executing at the server computer may be utilized to generate the updated second value. Based upon information provided at design-time, the updated second value will be generated at either the client tier or at the server computer.

According to another aspect, a system is provided for synchronizing database form fields in a client-server environment. In one embodiment, the system includes a database tier, an application tier, and a client tier. The database tier is configured to maintain and provide access to a database. The application tier is configured to receive and respond to requests for a form, the form including data defining a first UI control for displaying a first value from the database and a second UI control for displaying a second value from the database that is dependent upon the first value. The application and database tiers may be combined into a single application/database tier.

The client tier is configured to render the form to show the first value in the first UI control and to show the second value in the second UI control. The client tier is further configured to detect a modification to the first value and to cause an updated second value to be generated in response to detecting the modification to the first value. The updated second value is displayed by way of the second UI control. As discussed above, the updated second value may be generated at the client tier, at the application tier, at the database tier, or at a combined application/database tier. The updated second value may also be generated without modifying the contents of the database.

In one embodiment, the client tier is further configured to remove the display of the second value following receiving the modification to the first value and prior to displaying the updated second value. In this manner, a user is not presented with stale information while the updated second value is being generated.

This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended that this Summary be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

- Top of Page


FIG. 1 is a software architecture diagram showing one illustrative architecture presented herein for synchronizing form fields in a client-server environment;

FIG. 2 is a network and computer system architecture diagram showing an architecture utilized in one embodiment disclosed herein for synchronizing form fields in a client-server environment;

FIG. 3 is a flow diagram showing aspects of a method provided in one embodiment disclosed herein for creating a form having fields that can be synchronized in a client-server environment;

FIGS. 4A-4C are flow diagrams showing aspects of a method provided in one embodiment disclosed herein for run-time processing for providing synchronization of form fields in a client-server environment;

FIGS. 5A-5C are user interface diagrams showing the synchronization of several form fields in a client-server environment according to one embodiment disclosed herein; and

FIG. 6 is a computer architecture diagram showing an illustrative computer hardware and software architecture for a computing system capable of implementing the various embodiments presented herein.

DETAILED DESCRIPTION

- Top of Page


The following detailed description is directed to technologies for synchronization of form fields in a client-server environment. As discussed briefly above, a database tier is disclosed herein that maintains and provides access to a database. An application tier is also provided that receives and responds to requests for a form. The form includes data defining a first UI control for displaying a first value from the database and a second UI control for displaying a second value from the database that is dependent upon the first value. A client tier is also disclosed that renders the form to show the first value in the first UI control and to show the second value in the second UI control. The client tier also detects a modification to the first value and causes an updated second value to be generated in response to detecting the modification to the first value. The updated second value is displayed by way of the second UI control. The updated second value is generated at the client tier, the application tier, the database tier, or at a combined application/database tier

While the subject matter described herein is presented in the general context of program modules that execute in conjunction with the execution of an operating system and application programs on a computer system, those skilled in the art will recognize that other implementations may be performed in combination with other types of program modules. Generally, program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the subject matter described herein may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like.

In the following detailed description, references are made to the accompanying drawings that form a part hereof, and which are shown by way of illustration specific embodiments or examples. Referring now to the drawings, in which like numerals represent like elements through the several figures, aspects of a computing system and methodology for synchronizing form fields in a client-server environment will be described.

Turning now to FIG. 1, details will be provided regarding one embodiment presented herein for synchronization of form fields in a client-server environment. In particular, FIG. 1 is a software architecture diagram showing one illustrative architecture presented herein for synchronizing form fields in a client-server environment. As shown in FIG. 1, an illustrative architecture 100 for implementing the embodiments presented herein includes a client tier 102, an application tier 104, and a database tier 106. Each of these components will be described in detail below.

The database tier 106 illustrated in FIG. 1 represents one or more software components executing on a computer system that are configured to maintain and provide access to a database 116. In one implementation, the database 116 is a relational database. It should be appreciated, however, that other types of database technologies might be utilized.

The architecture 100 shown in FIG. 1 also includes an application tier 104. The application tier 104 is one or more software components executing on a computer system that are configured to receive and respond to requests for a form 108. For instance, as described in greater detail below, the application tier 104 might include a Web server component executing a Web application that is configured to provide forms, such as the form 108, in a client-server environment.

The form 108 is configured for use in a client-server environment and includes data defining a first UI control for displaying a first value from the database 116 and data defining a second UI control for displaying a second value from the database 116. The second value may be dependent upon the first value. The form 108 also includes display code 110 and form logic 112 in one embodiment.

The display code 110 is program code that may be rendered or executed on the client tier 102 and that is configured for receiving data values from the database 116 and displaying the data values. The form logic 112 is executable code configured to execute on the client tier 102 that manages interaction with the form 108 and that communicates with the application tier 104 and/or the database tier 106 to retrieve the values from the database 116 that are displayed by the form 108. Additional details regarding the functionality provided by the display code 110 and the form logic 112 will be provided below.

As also illustrated in FIG. 1, the architecture 100 includes a client tier 102 that is configured to render the form 108. In particular, a form display 118 is generated when the client tier 102 renders the form 108. For instance, the form display 118 may be displayed on a display screen connected to a computer executing a Web browser program capable of rendering the form 108. As described briefly above, the form 108 defines one or more UI controls 120A-120C (which may be referred to collectively as UI controls 120 or individually as UI control 120) that are displayed in the form display 118. As also discussed above, certain UI controls, such as the dependent UI control 120C, may be dependent upon values displayed by other UI controls. For instance, in the example shown in FIG. 1, the dependent control 120C may be configured to display a value from the database 116 that is dependent upon a value displayed by the UI controls 120A and/or 120B.

According to embodiments presented herein, the client tier 102 is further configured to detect a modification to a value generated by a UI control 120 and, in response to detecting such a modification, to cause an updated value to be displayed by any UI controls that are dependent upon the modified UI control. For instance, in the example shown in FIG. 1, if the dependent control 120C is dependent upon the UI control 120A, a modification to the value shown by the control 120A will cause an updated value to be generated and displayed by the dependent control 120C.

According to embodiments presented herein, the updated value displayed by the dependent control 120C may be generated at the client tier 102, the application tier 104, or the database tier 106. In another implementation, the application tier 104 and the database tier 106 are combined. In this embodiment, the updated value displayed by the dependent control 120C may be generated by the combined application/database tier. Additionally, as will be described in greater detail below, the updated value displayed by the dependent control 120C may be displayed by the client tier 102 without modifying the database 106.




← Previous       Next → Advertise on FreshPatents.com - Rates & Info


You can also Monitor Keywords and Search for tracking patents relating to this Synchronization of form fields in a client-server environment patent application.
###
monitor keywords


Browse recent Microsoft Corporation patents

Keyword Monitor How KEYWORD MONITOR works... a FREE service from FreshPatents
1. Sign up (takes 30 seconds). 2. Fill in the keywords to be monitored.
3. Each week you receive an email with patent applications related to your keywords.  
Start now! - Receive info on patent apps like Synchronization of form fields in a client-server environment or other areas of interest.
###


Previous Patent Application:
Method and apparatus for monitoring user interactions with selectable segments of a content package
Next Patent Application:
Content production
Industry Class:
Data processing: presentation processing of document
Thank you for viewing the Synchronization of form fields in a client-server environment patent info.
- - -

Results in 0.22335 seconds


Other interesting Freshpatents.com categories:
Nokia , SAP , Intel , NIKE ,

###

Data source: patent applications published in the public domain by the United States Patent and Trademark Office (USPTO). Information published here is for research/educational purposes only. FreshPatents is not affiliated with the USPTO, assignee companies, inventors, law firms or other assignees. Patent applications, documents and images may contain trademarks of the respective companies/authors. FreshPatents is not responsible for the accuracy, validity or otherwise contents of these public document patent application filings. When possible a complete PDF is provided, however, in some cases the presented document/images is an abstract or sampling of the full patent application for display purposes. FreshPatents.com Terms/Support
-g2-0.021

66.232.115.224
Next →
← Previous

stats Patent Info
Application #
US 20120102412 A1
Publish Date
04/26/2012
Document #
File Date
12/31/1969
USPTO Class
Other USPTO Classes
International Class
/
Drawings
0




Follow us on Twitter
twitter icon@FreshPatents

Microsoft Corporation


Browse recent Microsoft Corporation patents



Data Processing: Presentation Processing Of Document, Operator Interface Processing, And Screen Saver Display Processing   Operator Interface (e.g., Graphical User Interface)   For Plural Users Or Sites (e.g., Network)   Interface Customization Or Adaption (e.g., Client Server)   End User Based (e.g., Preference Setting)  

Browse patents:
Next →
← Previous
20120426|20120102412|synchronization of form fields in a client-server environment|A database tier maintains and provides access to a database. An application tier receives and responds to requests for a form. The form includes data defining a first UI control for displaying a first value from the database and a second UI control for displaying a second value from the |Microsoft-Corporation