Claims
- 1. A method of operating a digitally controlled model railroad comprising the steps of:(a) transmitting a first command from a first client program to a resident external controlling interface through a first communications transport; (b) transmitting a second command from a second client program to said resident external controlling interface through a second communications transport; (c) receiving said first command and said second command at said resident external controlling interface; (d) said resident external controlling interface queuing said first and second commands; (e) validating said first and second commands against permissible actions regarding the interaction between a plurality of objects of said model railroad; and (f) said resident external controlling interface sending third and fourth commands representative of said first and second commands, respectively, to a digital command station, each of which upon successful validation of step (e), for execution on said digitally controlled model railroad.
- 2. The method of claim 1, further comprising the steps of:(a) providing an acknowledgement to said first client program in response to receiving said first command by said resident external controlling interface that said first command was successfully validated prior to validating said first command; and (b) providing an acknowledgement to said second client program in response to receiving said second command by said resident external controlling interface that said second command was successfully validated prior to validating said second command.
- 3. The method of claim 1, further comprising the steps of:(a) selectively sending said third command to one of a plurality of digital command stations; and (b) selectively sending said fourth command to one of said plurality of digital command stations.
- 4. The method of claim 1, further comprising the step of receiving command station responses representative of the state of said digitally controlled model railroad from said digital command station and validating said responses regarding said interaction.
- 5. The method of claim wherein said first and second commands relate to the speed of locomotives.
- 6. The method of claim 2, further comprising the step of updating said successful validation to at least one of said first and second client programs of at least one of said first and second commands with an indication that at least one of said first and second commands was unsuccessfully validated.
- 7. The method of claim 1, further comprising the step of updating a database of the state of said digitally controlled model railroad based upon said receiving command station responses representative of said state of said digitally controlled model railroad.
- 8. The method of claim 7 wherein said validation is performed by an event driven dispatcher.
- 9. The method of claim 7 wherein said first command and said third command are the same command, and said second command and said fourth command are the same command.
- 10. A method of operating a digitally controlled model railroad comprising the steps of:(a) transmitting a first command from a first client program to a resident external controlling interface through a first communications transport; (b) receiving said first command at said resident external controlling interface; (c) validating said first command against permissible actions regarding the interaction between a plurality of objects of said model railroad; and (d) said resident external controlling interface selectively sending a second command representative of said first command to one of a plurality of digital command stations for execution on said digitally controlled model railroad based upon information contained within at least one of said first and second commands.
- 11. The method of claim 10, further comprising the steps of:(a) transmitting a third command from a second client program to said resident external controlling interface through a second communications transport; (b) receiving said third command at said resident external controlling interface; (c) validating said third command against permissible actions regarding the interaction between a plurality of objects of said model railroad; and (d) said resident external controlling interface selectively sending a fourth command representative of said third command to one of said plurality of digital command stations for execution on said digitally controlled model railroad based upon information contained within at least one of said third and fourth commands.
- 12. The method of claim 11 wherein said first communications transport is at least one of a COM interface and a DCOM interface.
- 13. The method of claim 11 wherein said first communications transport and said second communications transport are DCOM interfaces.
- 14. The method of claim 10 wherein said first client program and said resident external controlling interface are operating on the same computer.
- 15. The method of claim 11 wherein said first client program, said second client program, and said resident external controlling interface are all operating on different computers.
- 16. The method of claim 10, further comprising the step of providing an acknowledgement to said first client program in response to receiving said first command by said resident external controlling interface prior to validating said first command.
- 17. The method of claim 10, further comprising the step of receiving command station responses representative of the state of said digitally controlled model railroad from said of digital command station and validating said responses regarding said interaction.
- 18. The method of claim 17, further comprising the step of comparing said command station responses to previous commands sent to said digital command station to determine which said previous commands it corresponds with.
- 19. The method of claim 10, further comprising the step of updating validation of said first command based on data received from said digital command stations.
- 20. The method of claim 19, further comprising the step of updating a database of the state of said digitally controlled model railroad based upon command station responses representative of said state of said digitally controlled model railroad.
- 21. The method of claim 20, further comprising the step of updating said successful validation to said first client program in response to receiving said first command by said resident external controlling interface together with state information from said database related to said first command.
- 22. The method of claim 10 wherein said resident external controlling interface communicates in an asynchronous manner with said first client program while communicating in a synchronous manner with said plurality of digital command stations.
- 23. A method of operating a digitally controlled model railroad comprising the steps of:(a) transmitting a first command from a first client program to a resident external controlling interface through a first communications transport; (b) transmitting a second command from a second client program to a resident external controlling interface through a second communications transport; (c) receiving said first command at said resident external controlling interface; (d) receiving said second command at said resident external controlling interface; (e) validating said first and second commands against permissible actions regarding the interaction between a plurality of objects of said model railroad; and (f) said resident external controlling interface sending a third and fourth command representative of said first command and said second command, respectively, to the same digital command station for execution on said digitally controlled model railroad.
- 24. The method of claim 23 wherein said resident external controlling interface communicates in an asynchronous manner with said first and second client programs while communicating in a synchronous manner with said digital command station.
- 25. The method of claim 23 wherein said first communications transport is at least one of a COM interface and a DCOM interface.
- 26. The method of claim 23 wherein said first communications transport and said second communications transport are DCOM interfaces.
- 27. The method of claim 23 wherein said first client program and said resident external controlling interface are operating on the same computer.
- 28. The method of claim 23 wherein said first client program, said second client program, and said resident external controlling interface are all operating on different computers.
- 29. The method of claim 23, further comprising the step of providing an acknowledgement to said first client program in response to receiving said first command by said resident external controlling interface that said first command was successfully validated prior to validating said first command.
- 30. The method of claim 29, further comprising the step of receiving command station responses representative of the state of said digitally controlled model railroad from said of digital command station.
- 31. The method of claim 30, further comprising the step of comparing said command station responses to previous commands sent to said digital command station to determine which said previous commands it corresponds with.
- 32. The method of claim 31, further comprising the step of updating a database of the state of said digitally controlled model railroad based upon said receiving command station responses representative of said state of said digitally controlled model railroad.
- 33. The method of claim 32, further comprising the step of updating said successful validation to said first client program in response to receiving said first command by said resident external controlling interface together with state information from said database related to said first command.
- 34. The method of claim 23 wherein said validation is performed by an event driven dispatcher.
- 35. A method of operating a digitally controlled model railroad comprising the steps of:(a) transmitting a first command from a first client program to a first processor through a first communications transport; (b) receiving said first command at said first processor; and (c) said first processor providing an acknowledgement to said first client program through said first communications transport indicating that said first command has been validated against permissible actions regarding the interaction between a plurality of objects of said model railroad and properly executed prior to execution of commands related to said first command by said digitally controlled model railroad.
- 36. The method of claim 35, further comprising the step of sending said first command to a second processor which processes said first command into a state suitable for a digital command station for execution on said digitally controlled model railroad.
- 37. The method of claim 36, further comprising the step of said second process queuing a plurality of commands received.
- 38. The method of claim 35, further comprising the steps of:(a) transmitting a second command from a second client program to said first processor through a second communications transport; (b) receiving said second command at said first processor; and (c) said first processor selectively providing an acknowledgement to said second client program through said second communications transport indicating that said second command has been validated against permissible actions regarding the interaction between a plurality of objects of said model railroad and properly executed prior to execution of commands related to said second command by said digitally controlled model railroad.
- 39. The method of claim 38, further comprising the steps of:(a) sending a third command representative of said first command to one of a plurality of digital command stations for execution on said digitally controlled model railroad based upon information contained within at least one of said first and third commands; and (b) sending a fourth command representative of said second command to one of said plurality of digital command stations for execution on said digitally controlled model railroad based upon information contained within at least one of said second and fourth commands.
- 40. The method of claim 35 wherein said first communications transport is at least one of a COM interface and a DCOM interface.
- 41. The method of claim 38 wherein said first communications transport and said second communications transport are DCOM interfaces.
- 42. The method of claim 35 wherein said first client program and said first processor are operating on the same computer.
- 43. The method of claim 38 wherein said first client program, said second client program, and said first processor are all operating on different computers.
- 44. The method of claim 35 further comprising the step of receiving command station responses representative of the state of said digitally controlled model railroad from said of digital command station.
- 45. The method of claim 35, further comprising the step of updating a database of the state of said digitally controlled model railroad based upon said receiving command station responses representative of said state of said digitally controlled model railroad.
- 46. The method of claim 45, further comprising the step of updating said successful validation to said first client program in response to receiving said first command by first processor together with state information from said database related to said first command.
- 47. The method of claim 43 wherein said first processor communicates in an asynchronous manner with said first client program while communicating in a synchronous manner with said plurality of digital command stations.
Parent Case Info
This application is a Continuation of U.S. patent application Ser. No. 09/104,416 filed Jun. 25, 1998 now U.S. Pat. No. 6,065,406.
US Referenced Citations (12)
Non-Patent Literature Citations (1)
Entry |
Chappell, Understanding Active X and OLE, 1996, pp. 1-329, published by Microsoft Press. |
Continuations (1)
|
Number |
Date |
Country |
Parent |
09/104416 |
Jun 1998 |
US |
Child |
09/311936 |
|
US |