1. A sill assembly comprising:
an integral sill assembly including a sill base and an inclined threshold, the sill base is overmolded in an injection molding process onto the inclined threshold; and
a rail assembly adjustably secured to the sill base.
2. The sill assembly according to claim 1, wherein the inclined threshold includes a plurality of downwardly projecting extensions, the extensions being provided to interconnect the threshold with the sill base during the injection molding process.
3. The sill assembly according to claim 1, wherein the threshold includes an upwardly extending lip structure and the sill base includes an upwardly extending portion, the upwardly extending lip structure and the upwardly extending portion forming a channel adapted to receive the rail assembly.
4. The sill assembly according to claim 3, wherein the channel includes a plurality of holes for securing the rail assembly.
5. The sill assembly according to claim 4, wherein the plurality of holes are formed in the sill base during the injection molding process.
6. The sill assembly according to claim 1, further comprising a pair of jamb supports, one of the jamb supports being provided on one end of the sill base and the other of the jamb supports being provided on the opposite end of the sill base, wherein the jamb supports protrude outwardly from the sill base for engaging and supporting respective jamb members of a door jamb assembly.
7. The sill assembly according to claim 6, wherein the jamb supports are formed in one-piece in the injection molding process along with the sill assembly.
8. The sill assembly according to claim 6, further comprising a pair of jamb support extensions that are interlocked with a respective one of the jamb supports, the jamb support extensions allowing the sill assembly to accommodate at least one of wider door jamb members and wider thresholds.
9. A door sill assembly for a doorjamb assembly, wherein the doorjamb assembly includes a pair of vertically extending jamb members, a header structure, and at least one door, the sill assembly comprising:
an integral sill assembly including a sill base and an inclined threshold, the sill base is overmolded in an injection molding process onto the inclined threshold to form an integral sill assembly;
a pair of jamb supports, one of the jamb supports being provided on one end of the sill base and the other of the jamb supports being provided on the opposite end of the sill base, wherein the jamb supports protrude outwardly from the sill base for engaging and supporting a respective one of the jamb members; and
a rail assembly adjustably secured to the sill base.
10. The sill assembly according to claim 9, wherein the inclined threshold includes a plurality of downwardly projecting extensions, the extensions being provided to interconnect the inclined threshold with the sill base during the injection molding process.
11. The sill assembly according to claim 9, wherein the threshold includes an upwardly extending lip structure and the sill base includes an upwardly extending portion, the upwardly extending lip structure and the upwardly extending portion forming a channel adapted to receive the rail assembly.
12. The sill assembly according to claim 11, wherein the channel includes a plurality of holes for securing the rail assembly.
13. The sill assembly according to claim 12, wherein the plurality of holes are formed in the sill base during the injection molding process.
14. The sill assembly according to claim 9, wherein the jamb supports are formed in one-piece in the injection molding process along with the sill assembly.
15. The sill assembly according to claim 9, further comprising a pair of jamb support extensions that are interlocked with a respective one of the jamb supports, the jamb support extensions allowing the sill assembly to accommodate at least one of wider door jamb members and wider thresholds.
16. A method of forming a threshold and door sill assembly for a doorjamb assembly, wherein the door jamb assembly includes a pair of vertically extending jamb members, a header structure, and at least one door, the method comprising:
forming a threshold;
forming a sill assembly including a sill base by an injection molding process, wherein the sill base is overmolded in the injection molding process onto the threshold; and
adjustably securing a rail assembly to the sill base.
17. A method according to claim 16, further comprising:
forming a pair of jamb supports in one-piece in the injection molding process along with the sill assembly, one of the jamb supports being provided on one end of the sill base and the other of the jamb supports being provided on the opposite end of the sill base, wherein the jamb supports protrude outwardly from the sill base for engaging and supporting a respective one of the jamb members.
18. A method according to claim 16, further comprising forming a plurality of holes in the sill base during the injection molding process for securing the rail assembly.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1-64. (cancelled)
65. A method of operating an electronic device having a non volatile memory containing a first code version, the method comprising:
updating at least one portion of the non-volatile memory to a second code version using an update package received via a public network, the update package comprising a set of instructions for converting the first code version to the second code version.
66. The method of claim 65 wherein the public network is a wireless network.
67. The method of claim 65 wherein the public network is the internet.
68. The method of claim 65 wherein the updating is fault tolerant.
69. The method of claim 65 further comprising:
sending to an update server at least one identifying characteristic; and
receiving from the update server the update package corresponding to the at least one identifying characteristic.
70. The method of claim 69 wherein the at least one identifying characteristic comprises an identifier of the manufacturer of the electronic device.
71. The method of claim 69 wherein the at least one identifying characteristic comprises a model identifier.
72. The method of claim 69 wherein the at least one identifying characteristic comprises at least one version identifier.
73. The method of claim 72 wherein the at least one version identifier comprises a first and a second code version identifier.
74. The method of claim 69 wherein the at least one identifying characteristic comprises a type of the electronic device.
75. (cancelled)
76. The method of claim 65 wherein the updating comprises:
retrieving from the update server a metadata;
halting the updating if it is determined from the metadata that the updating should not proceed; and
continuing the updating if it is determined from the metadata that the updating should proceed.
77. The method of claim 65 wherein the updating comprises:
verifying the received update package;
proceeding with the updating if the verification of the update package is successful; and
halting the updating if the verification of the update package is not successful.
78. The method of claim 77 wherein the verifying comprises:
determining that the update package is appropriate for at least one identifying characteristic.
79. The method of claim 78 wherein at least one of a cyclic redundancy check, hash value, digital signature, digital fingerprint, and message digest is used.
80. The method of claim 65 wherein the non-volatile memory comprises a change indicator that is set upon receipt of the update package.
81. The method of claim 80, wherein the updating comprises:
detecting whether or not the change indicator is set;
proceeding with the updating if the change indicator is set;
inhibiting the updating if the change indicator is not set; and
resetting the change indicator.
82. The method of claim 80 wherein the change indicator is a status table.
83. A method of operating an electronic client device, the electronic client device having a memory, the method comprising:
receiving, by the electronic client device via a communications medium executable instructions; and
performing, using the executable instructions, a fault-tolerant update of code in at least a portion of the memory of the electronic client device.
84. The method of claim 83 wherein the code is software.
85. The method of claim 83 wherein the code is firmware.
86. The method of claim 83 wherein the communications medium is a wireless network.
87. The method of claim 83 wherein the communications medium is the Internet.
88. A method of operating an electronic client device having a non-volatile memory, the non-volatile memory comprising a change indicator for signaling the availability of an update package received via a communication medium, the method comprising:
detecting a state of the change indicator indicating the availability of the received update package;
performing a fault tolerant update of non-volatile memory if the change indicator is set;
refraining from performing a fault tolerant update of non-volatile memory if the change indicator is not set; and
resetting the change indicator upon completion of the fault tolerant update.
89. The method of claim 88 wherein the detecting occurs during the period after operating power is supplied to the electronic client device and until the electronic client device is operating for its intended use by a user.
90. The method of claim 88 wherein the detecting occurs immediately after the electronic client device is reset.
91. The method of claim 88 wherein the detecting occurs immediately following interruption of the fault tolerant update.
92. The method of claim 88 wherein the change indicator is a status table.
93. A method of operating an update server, the update server communicatively coupled to an electronic client device containing a code, the update server having stored upon it at least one update package, the method comprising:
receiving at least one identifying characteristic from the electronic client device;
selecting one of the at least one update package based on at least one identifying characteristic, the selected update package comprising a set of instructions for converting the code into an updated code; and
communicating to the electronic client device the selected update package comprising a set of instructions for converting the code into an updated code.
94. The method of claim 93 wherein the at least one identifying characteristic comprises an identifier of the manufacturer of the electronic client device.
95. The method of claim 93 wherein the at least one identifying characteristic comprises a model identifier.
96. The method of claim 93 wherein the at least one identifying characteristic comprises at least one version identifier.
97. The method of claim 93 wherein the at least one version identifier comprises a first and a second firmware version identifier.
98. The method of claim 93 wherein the at least one identifying characteristic comprises a type of the electronic client device.
99. (cancelled)
100. The method of claim 93 wherein the electronic client device is a wireless mobile device.
101. The method of claim 93 wherein the code is software.
102. The method of claim 93 wherein the code is firmware.
103. The method of claim 93 further comprising:
determining that an update of the electronic client device is required;
sending an update notice to the electronic client device;
receiving an update request from the electronic client device; and
retrieving an update package.
104. The method of claim 93 wherein the update server comprises a generator for generating the at least one update package.
105. A method of operating a generator, the generator having access to an old code and a new code, the method comprising:
generating an update package comprising a sequence of instructions for transforming the old code into the new code using a bank by bank method.
106. The method of claim 105, wherein the transforming comprises generating, from the old code, at least one version of modified old code, that is processed along with the update package to generate the new code.
107. A method of operating an electronic device having a non-volatile memory, the non-volatile memory comprising a plurality of banks, the method comprising:
(a) selecting one of the plurality of banks;
(b) determining whether or not the selected bank has been updated;
(c) updating the selected bank if it is determined that it has not been updated;
(d) refraining from updating the selected bank if it is determined that it been updated;
(e) repeating (a) through (d) until it is determined that all of the plurality 1f banks have been updated; and
wherein the determining compares a first value to a second value, the second value being calculated from a contents of the selected bank.
108. The method of claim 107 wherein:
the non-volatile memory comprises an update package and a backup bank;
the backup bank is used for storing information needed for fault tolerant recovery;
the electronic device comprises a volatile memory; and
the volatile memory comprises a working bank for converting the contents of each of the plurality of banks from a portion of a code to a portion of an updated code.
109. The method of claim 108 wherein:
the update package comprises information used in the bank-by-bank update method.
110. The method of claim 108 wherein the updating comprises:
moving a copy of the selected bank to the working bank;
converting a code in the working bank according to at least a portion of the update package;
copying the working bank to the backup bank; and
duplicating the working bank in the selected bank.
111. A method of operating an electronic client device, the electronic client device having a non-volatile memory, the method comprising:
receiving, by the electronic client device via a communications medium, executable instructions; and
updating the non-volatile memory using a fault tolerant bank-by-bank update method.
112. The method of claim 111 wherein the communications medium is a wireless network.
113. The method of claim 111 wherein the communications medium is the Internet.
114. A method of operating an update distribution system for delivering to an electronic device an update package, the electronic device having at least one identifying characteristic, the method comprising:
provisioning the update package using the at least one identifying characteristic, the update package comprising a set of instructions for converting a first code version to a second code version;
retrieving using at least one retrieval criterion the update package comprising the set of instructions for converting a first code version to a second code version; and
providing to the electronic device the retrieved update package comprising the set of instructions for converting a first code version to a second code version.
115. (cancelled)
116. A method of operating an electronic device, the method capable of determining where an interrupted fault-tolerant activity should be resumed without requiring the saving of status information in non-volatile memory during execution of the fault-tolerant activity.
117. The method of claim 116 wherein the electronic device determines where an interrupted fault-tolerant activity should be resumed by sequentially computing a signature in a bank-by-bank fashion for a plurality of banks associated with a code corresponding to the fault-tolerant activity and comparing the computed signatures to a list of pre-computed signatures until a mismatch is encountered thereby determining where the interrupted fault-tolerant activity should be resumed.
118. The method of claim 107 wherein the calculation of the second value uses a checksum algorithm.
119. The method of claim 107 wherein the calculation of the second value uses a cyclic redundancy check algorithm.
120. The method of claim 107 wherein the calculation of the second value uses a digital signature algorithm.
121. The method of claim 107 wherein the calculation of the second value uses a message digest algorithm.
122. The method of claim 107 wherein the calculation of the second value uses a hash algorithm.