SYSTEM AND METHOD FOR SYNCHRONIZING OBJECTS BETWEEN DATA COLLECTIONS
A system for facilitating the information transfer and processing associated with home construction and home sales. Various discrete software modules are disclosed each handling a specific task associated with home construction and sales. Also, a system for communicating between separate data bases is disclosed wherein separate and distinct sales offices, each having their own data base, may communicate with a parent, market office having its own data base wherein the data bases of the sales offices and the market office are synchronized according to the method of the present invention so that any data updates in any of the sales offices would be automatically updated in the associated market offices. This aspect of the present invention allows a corporation responsible for home construction and sales amongst various regional, market, and sales offices to coordinate a plurality of discretely separate data bases in a way such that they are all synchronized with one another at a predetermined time.
This application is a divisional of U.S. patent application Ser. No. 10/395,543, filed on Mar. 24, 2003, which is a continuation of U.S. patent application Ser. No. 09/282,687, filed on Mar. 31, 1999, which is a continuation of U.S. patent application Ser. No. 08/919,091, filed on Aug. 27, 1997, which is a divisional of U.S. patent application Ser. No. 08/387,541, filed on Feb. 13, 1995.
TECHNICAL FIELDThis invention relates to a system for facilitating home construction and sales and more particularly relates to a computer implemented system for assisting new home purchasers, sales associates, and home construction companies to efficiently manage the information flow which is present before, during, and after new home construction and sales.
BACKGROUND OF THE INVENTIONIt is customary for prospective new home purchasers to meet with a salesperson (usually an agent of a construction company) and to review various home designs that the construction company offers. During this process, financial information may be obtained from the prospective buyer in order to determine “how much home” they can afford. If the prospective buyer is interested in a particular subdivision, the sales persons must access various records to determine the status of the various lots in the subdivision to determine which lots are available, what their cost is and other information which may be relevant to the decision making process of the potential purchaser.
It can be easily seen that the information which the sales associate must access in answering some basic questions that a single potential purchaser may have can become cumbersome—even at the initial stages of a potential purchaser's inquiries. It can also be easily seen that once a purchaser enters into a purchase agreement with the home construction company, much information must be tracked such as the status of the home construction, mortgage approval status, selected options to the home, and various change orders, etc. In view of the above, it is easy to see how the management of information associated with the construction and sale of a single home can be daunting. However, when a construction company must deal with multiple subdivision projects which are disbursed across multiple, geographically remote sites, the management of information associated with each of the construction projects is a monumental undertaking if done using conventional, manual techniques.
In view of the above, it is an object of this invention to provide a computer based system for managing the information flow associated with new home construction and new home sales. This object is accomplished by providing the salesperson with various software modules which facilitate information flow between the purchaser/potential purchaser and the sales associate. Also, the present invention sets forth a software system for coordinating information flow between sales sites and a more centralized site where information can be collected and acted upon. Thus, the present invention not only facilitates information flow at the sales office level, but facilitates information flow between various sales offices and various remote locations.
SUMMARY OF THE INVENTIONIn a first aspect, the present invention discloses a system for displaying plat status information to a viewer including the steps of displaying, on a video display terminal, a plurality of polygons, each polygon representing a respectively associated plat; selecting a status associated with each plat; and coding each polygon with a visible indicia indicative of the status assigned to each polygon.
In a second aspect, the present invention discloses a system for displaying plat status information comprising; computer means including a video display terminal for displaying a plurality of polygons, each polygon representing a plat; means for coding each of the polygons with an invisible indicia indicative of the status assigned to each of the polygon's respectively associated plat.
In another aspect, the present invention discloses a system and method for displaying status information to a viewer on a display. The method comprises displaying a plurality of defined regions on the display; designating a status for at least one of the defined regions; and displaying a visible indicia for the defined region with the designated status assigned thereto.
Still in another aspect, the present invention discloses a method of communicating between first and second geographically remote data bases, comprising the steps of: receiving information relating to the construction or sale of homes into the first data base; separating the information into a plurality of first data base records; determining which of the plurality of first data base records have been altered from a previous state; sending the altered records of the first data base to the second data base; matching each altered data base record sent from the first data base with a respectively associated record of the second data base; and amending each match record of said second data base to reflect the information present in the respectively associated altered record send from the first data base.
Yet in another aspect, the present invention discloses a system for facilitating tracking-information associated with selling and constructing homes including, computer means; means coupled with the computer means for displaying plat information relating to the homes; means coupled with the computer means for displaying information relating to the design of the homes; means coupled with the computer means for displaying information related to the options associated with the homes; means, coupled with the computer means, for displaying mortgage information relating to the purchase of the home; and means, coupled with the computer means for displaying information related to a contract associated with the sale of the home.
The above referenced modules are set out and discussed in detail below.
Lot Information Module
The LOT INFORMATION MODULE of the present invention is adapted to be run on any computer system but is particularly adapted for use on a personal computer. A preferred hardware arrangement for such a personal computer 18 is depicted in
Of course, many other personal computers will perform equally as well such as a Compaq™, IBM Value Point™, Dell™, NEC™, etc.
The LOT MODULE is selected by positioning an indicator on the LOTS icon 30 and then activating the selection. This positioning/activation sequence is typically implemented by way of a “mouse” control, but any other technique for allowing a user to select from a menu of options is also contemplated including finger selection.
Once the LOTS selection is activated, a simulated aerial view of the particular subdivision is displayed. In the example of
One option within the LOTS MODULE is the OVERALL STATUS option. By selecting the OVERALL STATUS option, each plat 41 through 98 is assigned one of three visual codes—active code, closed code, or vacant code. These visual codes associated with each polygon can be a design (such as cross hatching or stimpling) associated with each polygon, or perhaps even simpler, a predetermined color can be associated with each code. Thus, by viewing the colors associated with each polygon, a perspective buyer can immediately determine which of the plats (or lots) are not yet sold (i.e. vacant), which of the plats are sold and construction is completed (i.e. closed), and which of the plats are sold and construction is underway but not yet completed (i.e. active).
A second option available in the LOTS MODULE is the CONSTRUCTION option. If this option is selected, the viewer is presented with the display set forth in
A third option available within the LOTS MODULE is the CONTRACT option. If this option is selected, the display depicted in
If the viewer wishes to access LOT information associated with a particular LOT, a pointer (not shown) is manipulated proximate the LOT of interest, and the pointer is activated. This causes the LOT information associated with that selected LOT to be displayed (as shown in
In
In the preferred implementation of the LOT INFORMATION MODULE of the present invention, the software associated with the LOT INFORMATION MODULE reads an AutoCAD™ DXF file that contains the LOT INFORMATION. The data is preferably scaled to best display the information on the computer screen keeping the same x and y coordinate proportions. The AutoCAD file is parsed and a “lot coordinate” file is created that contains the normalized data values for each LOT with all points for a particular LOT grouped together. Using Microsoft™ Window API calls, the entire plat map is generated by drawing one LOT in its entirety and then drawing the next LOT in its entirety, etc. until all LOTS have been drawn. By utilizing this technique, a simple polygon for each LOT is created which permits the user to later select the LOT by simply pointing to the LOT with their finger or selecting the LOT with a visual pointing device (such as a mouse, etc.). In addition, since the scaling information has been predetermined from the AutoCAD file, a second (or subsequent) image may be superimposed on the LOT map to add background information such as trees, lakes, streams, roads, etc.
Because the polygon is a defined region within Windows, the LOTS can be easily changed and colored to represent different “states” (or statuses) in construction or any other processes associated with the plat.
Plan Selection Module
The PLAN SELECTION MODULE allows the viewer to see floor plan layouts and elevational views for each of the model home designs made available by the builder. When the user selects the PLAN SELECTION MODULE, the display set forth in
If the user wishes to see the front elevational depiction of the SUNRISE DESIGN, the elevation option 126 is selected which gives rise to the displays depicted in
Thus, the PLAN SELECTION MODULE allows a potential buyer to review the floor plan layouts and the elevational layouts of any number of home designs offered by the contractor.
Options Module
Once a floor plan has been selected, the system of the present invention allows various OPTIONS to be selected. These OPTIONS are discussed in conjunction with
Finance Module
When a potential buyer is contemplating the purchase of a home, the financial aspects of such a purchase are typically of significant importance. The FINANCIAL MODULE of the present invention assists potential buyers in determining their mortgage options, determining how much home they can afford, assist them in determining if they will qualify for the mortgage they're interested in, and assist in educating them of the tax benefits of purchasing the home. Each of these categories are set forth in the menu of selections of
In
If the purchaser is interested in the tax benefits they receive from the purchase of a home, the TAX BENEFITS selection of
Contract Module
The CONTRACT MODULE of the present invention is the portion which is responsible for creating and tracking legal documents associated with the purchase of the home and selected options. Thus, when the user selects the CONTRACT MODULE (see selection 101 of
When the CREATE CONTRACT button is selected, the user is prompted for confirmation (see
If the OPTIONS button of
Once the contract is approved by the Market Office, the customer may elect to make certain changes in the contract. When the CONTRACT button is selected from the main sales menu, a revised EXISTING CONTRACTS screen, as shown in
Information Transfer Module
Although the system as set forth can be implemented on a small scale basis (e.g. a single subdivision), it is equally capable of handling information flow throughout a network of sales offices, design centers, construction trailers, market offices, regional offices, and corporate offices. This aspect of the present invention will now be discussed in detail in conjunction with
All of the modules set forth heretofore would typically be used at the sales office level to facilitate discussions which would typically take place between potential purchasers and sales associates. In the situation where a company has many subdivision developments ongoing at any one time, each sales office may be associated with one subdivision development. In this instance, it may be desirable for each sales office within a given territory to report to a single market office. A predetermined number of market offices may then be structured to communicate with a single regional office and lastly, a predetermined number of regional offices may be responsible for reporting to a single corporate office. This hierarchical arrangement is depicted in
Children to Parent Data Transfer
Sales offices 150 depict a group of sales offices responsible for reporting to a single market office 152. Thus, in this manner, sales offices 150 are considered the children offices of market office 152 and likewise, market office 152 is considered the parent office of sales offices 150. We will now discuss, by way of example, how information is input at a given sales office and how that information is then transferred to the market office so that the market office is apprised of that particular transaction. In our example, let us suppose that a potential customer arrived at sales office subscript 154 and selected a lot, selected a home model, selected various options for that home model and provided the other necessary financial information that has been discussed in conjunction with the various modules. A data record is then constructed in one of the computers 18 (see
The first six fields (all customer information) are typical fields within the structure and contain the dynamic information. The remaining four data fields are required for proper communication between a sibling office and a parent office and are modified according to the following rules:
-
- 1. When a new record is created:
- The LAST MODIFIED field is updated with the system date/time of the actual modification.
- The LAST MODIFIED BY field is updated with the “user id” or “log on name” of the person using the computer system. The “user id” is unique within any one given installation site that may consist of several networked computer systems.
- The LAST MODIFIED BY SITE field is updated with the system generated UNIQUE SITE ID for the current location. A site will have one or more computer systems that are connected with a network device. The SITE ID is pre-assigned at a central location prior to the software being utilized.
- The UNIQUE RECORD ID is generated at the site for each new data record that is generated. The UNIQUE RECORD ID is the single common link across all sites and its contents must be preserved for all future updates. Consequently, the UNIQUE RECORD ID field is only assigned on new records. It may be any unique number that mathematically combines the date/time the record was created.
- 2. When subsequent records are modified, all of the fields associated with the modified record are updated except for the UNIQUE RECORD ID.
- 3. When a record is deleted, a separate table is maintained that contains the table name, the UNIQUE RECORD ID of the original record, and the LAST MODIFIED BY SITE field. A new record is generated for each deleted record in the database. At a predetermined time (which is preferably during nonworking business hours), SO1 initiates a database synchronization procedure to make certain that its database is in synchronization with the database MO1 152. In order to do this, SO1 examines all of the data records in its database to determine which records have been changed since the last database synchronization took place. Each record that has been added or changed since the last database synchronization is copied into a redundant database. Records that are identified in the “delete log” table are also copied into the redundant database. Various ancillary files associated with each data record that have also been changed are flagged. These ancillary files contain miscellaneous information associated with any peculiar circumstances related to a potential buyer—such as the purchase of the home is contingent on the sale of his current home, or the like. This redundant database is then compacted and transferred to MO1 152 (the responsible parent). After the information is transferred to the parent, a confirmation message is sent by the parent to SO±154 that the information has in fact been received and is being processed. Upon receipt of this confirmation, the following actions are performed at SO1 154:
- A. The delete log is purged,
- B. The last database sync date/time field is modified to reflect the current date/time and,
- C. SO1 154 polls the system for an incoming message consisting of changes that must be applied to the database of SO1 154 as commanded by MO1 152.
- 1. When a new record is created:
At a later time, MO1 152 (the parent) is assured of having all of the transactions from SO1 through SOx—the subordinate children. At this point, MO1 152 processes each of the subordinate children's records in the redundant database against the database residing at MO1 152. In doing this, first the deleted records are processed and deleted from MO1's database. Subsequently, additional records are added and/or modified in MO1's database in accordance with the last modified date/time field.
Parent to Children Data Transfers
Still, at a later predetermined time, MO1 examines its database for any additions, deletions, or changes which may have been initiated at MO1 or initiated by RO1. These additions, changes, or deletions, are placed in a redundant database which is set up for each particular subordinate children site. Data records that have the “last modified by site” value that is the same as the subordinate children's site are discarded inasmuch as it is known that these records originated from that site. This redundant database with any ancillary data files is then transferred electronically to the respectively associated subordinate child. This process repeats itself with the parent becoming the subordinate child and additional transactions are prepared for additional sites.
In view of the above discussion, it has been demonstrated that the system of the present invention is effective for taking a plurality of disbursed databases and synchronizing these databases with other databases associated therewith. It is important to note that only records which have been altered, in some way, are transferred for updating thus eliminating the time consuming task of transferring all database records, even those which have not been altered in any way. In this aspect, the data synchronization method of the present invention is extremely efficient.
Overall Entry Module
The OVERALL ENTRY MODULE is displayed when the system is first booted and provides a method of entering the Land, Sales, Build (or construction), Warranty, Administration, Financial, or Office LINC Subsystems. The SALES SUBSYSTEM is selected by positioning an indicator on the SALES Icon and then activating the selection. This positioning/activation sequence is typically implemented by way of a “mouse” control, but any other technique for allowing a user to select from a menu of options is also contemplated, including selection by a person's finger. After selection, the screen set forth in
People Information Module
If the customer is a real estate broker, the sales associate selects the broker button (see
Additional information associated with the customer is assessed through the PEOPLE INFORMATION MODULE screen of
Administration System
The ADMINISTRATION SYSTEM contains several modules associated with the maintenance of certain data files regarding this invention. The primary modules associated with this system are shown in
By way of example, when the Market Master icon is selected (see
Another example of the ADMINISTRATION SYSTEM is the CONTRACT APPROVAL MODULE which is displayed when the CONTRACT icon is selected. The screen of
A third example of the ADMINISTRATION SYSTEM is the FINANCING MODULE which is displayed when the FINANCING icon is selected and the LOAN MAINTENANCE sub-menu is selected. The screen in
These fees are typically supplied by a mortgage company and are electronically transmitted to the related SALES OFFICES by the DATA LINC system.
CONCLUSIONThe foregoing detailed description shows that the preferred embodiments of the present invention are well suited to fulfill the objects of the invention. It is recognized that those skilled in the art may make various modifications or additions to the preferred embodiments without departing from the spirit of the present invention. Accordingly, it is to be understood that the subject matter sought to be afforded protection hereby should be deemed to extend to the subject matter defined in the appended claims including all fair equivalents thereof.
Claims
1-16. (canceled)
17. A method for synchronizing the values of equivalent objects contained in multiple data collections that are in communications with one another, the method comprising:
- receiving information altering the value of an object contained in one of the data collections;
- altering said value of the object based on the receiving information by addition, change, deletion, or replacement of a portion thereof;
- identifying the altered values of the objects that have been altered since the previous synchronization method was completed;
- transferring the altered values of the objects that have been altered since the previous synchronization method was completed from the one data collection to a second data collection that contains equivalent objects;
- receiving said altered values of said altered objects by a second data collection;
- replacing the values of the altered objects in a second data collection corresponding to the altered values received for the equivalent objects from the transfer;
- wherein each object in the data collections has a unique identifier, and
- wherein transferring the altered values of said altered objects further includes,
- transferring the unique identifiers of the altered objects of the one data collection to permit the matching with the equivalent objects in a second data collection for replacing the values of said equivalent objects.
18. The method as recited in claim 17 wherein the communications between the multiple data collections may be intermittent.
19. The method as recited in claim 17 wherein a data collection may also be referred to as a data store or a store or a data class or a database or a file or a folder.
20. The method as recited in claim 19 wherein each data collection may be a data object that functions as a container of other data objects.
21. The method as recited in claim 17 wherein the objects contained in the multiple data collections may be data records.
22. The method as recited in claim 17 wherein the objects contained in the multiple data collections may be data fields.
23. The method as recited in claim 22 wherein the equivalent data fields in the multiple data collections contain replica of data.
24. The method as recited in claim 17 wherein the previous synchronization is identified with a synchronization anchor.
25. The method as recited in claim 24 wherein the synchronization anchor is updated after completion of the method as recited in claim 17.
26. The method as recited in claim 25 wherein the synchronization anchor reflects a date/time stamp.
27. The method as recited in claim 17 wherein at least one modification identification is associated with the altered value of each object that has been altered since the previous synchronization method was completed.
28. The method as recited in claim 27 wherein at least one modification identification can result in identifying the type of alteration to the value of the object as an addition, change, deletion, or replacement of a portion thereof.
29. The method as recited in claim 27 wherein at least one modification identification that is associated with the altered object may be referenced to the synchronization anchor in determining whether the altered object was altered after the last synchronization method was completed.
30. The method as recited in claim 29 wherein at least one modification identification that is associated with the altered object and that is referenced to the synchronization anchor comprises a date/time stamp.
31. The method as recited in claim 27 wherein at least one modification identification is updated when an object is altered.
32. The method as recited in claim 17 wherein transferring the altered values of the objects that have been altered along with the unique identifiers of the altered objects comprises collecting a copy of said altered values and said object identifiers in a data collection and transferring that new data collection from one of the multiple data collections containing equivalent objects to another data collection containing equivalent objects that have not yet been altered by said alterations.
33. The method as recited in claim 17 wherein transferring the altered values of the objects that have been altered along with the unique identifiers of the altered objects thereby eliminates the need to copy the entire data collection from one of the multiple data collections in which alterations have occurred to another data collection containing equivalent objects that have not yet been altered by said alterations.
34. The method as recited in claim 17 wherein each object has a unique identifier such that each data collection can match its objects to each of the other data collection objects in order to maintain equivalency after the synchronization method is complete.
35. The method as recited in claim 17 wherein the transfer of information further comprises sending data collection identification information.
36. The method as recited in claim 35 wherein the transferring of alterations from one data collection and the sending of data collection identification information further comprises:
- receiving altered values and unique identifiers of objects that have been altered in the other data collection; and
- modifying the equivalent objects in the one of the data collection with the corresponding altered values from the other data collection.
37. The method as recited in claim 36 wherein receiving altered values and unique identifiers of objects that have been altered further comprises receiving a confirmation message from the other data collection to which the alterations to the one of the data collections was sent.
38. The method as recited in claim 37 wherein receiving the confirmation message further comprises updating the last synchronization anchor.
39. The method as recited in claim 36 wherein receiving altered values and unique identifiers of objects includes receiving alterations that have not occurred at the one of the data collections based on the data collection identification information.
40. The method as recited in claim 17 wherein replacing the values of the altered objects in the second data collection further comprises determining if any of the objects have been deleted from the one of the data collections, and if so, removing such objects from the other data collection.
41. A system for synchronizing information among one or more first data collections in communication with a second data collection, each data collection having at least some equivalent objects with equivalent values contained in at least one of the other data collections, the system comprising:
- an input device associated with each of the first data collections for receiving information altering the value of an object contained in one of the first data collections;
- a central processing unit associated with each of the first data collections for altering said values of objects based on the receiving information by addition, change, deletion, or replacement of a portion thereof;
- a central processing unit associated with each of the data collections for identifying the altered values of the objects that have been altered from a previous state, transferring a copy of the alterations and the unique identifiers of the altered objects from one of the first data collections to the second data collection that has the equivalent unaltered objects stored therein, and for modifying the values of said objects in the second data collection corresponding to the altered values received for the equivalent objects from the transfer.
42. The system as recited in claim 41 wherein the identification of the alteration of an object from a previous state is based on utilization of a synchronization anchor.
43. The system as recited in claim 42 wherein the central processing unit does not update the synchronization anchor until after completion of the system as recited in claim 41.
44. The system as recited in claim 43 wherein the synchronization anchor reflects a date/time stamp.
45. The system as recited in claim 41 wherein at least one modification identification is associated with the altered value of each object that has been altered since the previous synchronization method was completed.
46. The system as recited in claim 45 wherein the central processing unit operates such that at least one modification identification can result in identifying the type of alteration to the value of the object as an addition, change, deletion, or replacement of a portion thereof.
47. The system as recited in claim 45 wherein at least one modification identification that is associated with the altered object may be referenced by the central processing unit to the synchronization anchor in determining whether the altered object was altered after the last synchronization method was completed.
48. The system as recited in claim 47 wherein at least one modification identification that is associated with the altered object and that is referenced by the central processing unit to the synchronization anchor comprises a date/time stamp.
49. The system as recited in claim 45 wherein at least one modification identification is updated by the central processing unit when an object is altered.
50. The system as recited in claim 41 wherein each object has a unique identifier such that the central processing unit for each data collection can match its objects to the copy of the transferred objects from each of the other data collections in order to maintain equivalency after the system for synchronizing objects has completed.
51. The system as recited in claim 41 wherein the central processing unit, in transferring the altered values of the objects that have been altered along with the unique identifiers of the altered objects, is further operative to transfer such alterations and unique identifiers to eliminate the need to copy the entire data collection from one of the first data collections in which alterations have occurred to the second data collection containing equivalent objects that have not yet been altered by said alterations.
52. The system as recited in claim 41 wherein the central processing unit, in transferring the altered values of the objects that have been altered along with the unique identifiers of the altered objects, is further operative to collect a copy of said altered values and said object identifiers in a data collection and transfer that new data collection from one of the first data collections to the second data collection containing equivalent objects that have not yet been altered by said alterations.
53. The system as recited in claim 52 wherein the central processing unit is further operative to transfer data collection identification information for the one of the first data collections.
54. The system as recited in claim 53 wherein the central processing unit, in transferring alterations and object identifiers from the one of the first data collections and the sending of data collection identification information, is further operative to:
- receive altered values and unique identifiers of objects that have been altered in the second data collection; and
- modify the equivalent objects in the one of the first data collections with the corresponding altered values from the second data collection.
55. The system as recited in claim 41 wherein the central processing unit, in replacing the values of the altered objects in the second data collection, is further operative to determine if any of the objects have been deleted from the one of the first data collections, and if so, removing such objects from the second data collection.
56. A method to permit the synchronizing of the values of equivalent objects contained in multiple data collections that are in communications with one another, the method comprising:
- receiving information consisting of one or more new objects and said new objects' values;
- appending said one or more new objects with said new objects' values to one of the data collections;
- identifying the one or more new objects with said new objects' values that have been appended to the one of the data collections since the previous synchronization method, if any, was completed;
- transferring a copy of the one or more new objects with said new objects' values that have been appended to the one of the data collections, from the one data collection to another data collection;
- receiving said one or more new objects with said new objects' values by the other data collection;
- appending said one or more new objects with said new objects' values to the other data collection;
- wherein each of the one or more new objects is assigned a unique identifier, and
- wherein transferring the said one or more new objects further includes,
- transferring the unique identifiers of said one or more new objects of the one data collection to the other data collection to permit the matching for synchronization when the equivalent objects in the one or other data collections are altered in the future.
57. The method as recited in claim 17 wherein the steps of receiving information altering the value of an object and altering said value of the object based on the receiving information, may be repeated continuously and periodically except for interruptions that may include, but are not limited to, initiation of the subsequent steps as recited in claim 17.
58. The method as recited in claim 57 wherein initiation of the next steps is based on a predetermined activator.
Type: Application
Filed: Apr 22, 2011
Publication Date: Aug 11, 2011
Inventors: Timothy A. Fino (Farmington, MI), Stephan E. Hall (Birmingham, MI)
Application Number: 13/092,799
International Classification: G06Q 50/00 (20060101);