1460909844-ead5c5c0-8315-487b-be3a-a4ed7dcad035

1. An inventory management system, comprising:
a first conductive surface and a second conductive surface substantially parallel to the first conductive surface;
a sensor to generate a measurement based on a change in a distance between the first conductive surface and the second conductive surface;
a scale formed with a set of plates having inserted between the set of plates the first conductive surface and the second conductive surface; and
a container placed above the scale such that at least one item of the container is weighed through the measurement.
2. The inventory management system of claim 1 wherein the at least one item of the container comprises a liquid, a solid, a discrete part, a powder, and a gas.
3. The inventory management system of claim 1 wherein the scale to indicate a shortage of the at least one item when the measurement of the at least item varies from a tolerance weight.
4. The inventory management system of claim 1 wherein the change in the distance is caused by a deflection of the first conductive surface with respect to the second conductive surface; and wherein the deflection is at least one of a compressive force and an expansive force.
5. The inventory management system of claim 1 wherein the change in the distance is caused by a change in thickness of at least one spacer between the first conductive surface and the second conductive surface.
6. The inventory management system of claim 1 wherein the sensor applies an algorithm that converts a change in capacitance to at least one of a change in voltage and a change in frequency to generate the measurement.
7. The inventory management system of claim 6 wherein the measurement is of a force applied to a surface above the first conductive surface with respect to the second conductive surface.
8. The inventory management system of claim 7 wherein the change in the distance is caused by a load applied to the surface above the first conductive surface with respect to the second conductive surface.
9. The inventory management system of claim 8 wherein the first conductive surface and the second conductive surface form a sensor capacitor, and wherein a change in capacitance of the sensor capacitor is inversely proportional to the change in the distance between the first conductive surface and the second conductive surface.
10. The inventory management system of claim 1 further comprising a reference capacitor associated with the apparatus to enable the sensor to adjust the measurement based on at least one environmental condition.
11. The inventory management system of claim 10 wherein the at least one environmental condition is humidity in a gap between the first conductive surface and the second conductive surface, a temperature of the apparatus, and an air pressure of an environment surrounding the apparatus.
12. The inventory management system of claim 1 wherein the first conductive surface and the second conductive surface are fabricated in any geometric shape, including a rectangular shape, an oval shape, and a shape having sides that are not all the same length.
13. An inventory management system of claim 1 wherein the first conductive surface and the second conductive surface are painted on a plurality of nonconductive printed circuit boards forming the apparatus.
14. An inventory management system, comprising:
a reference capacitor whose capacitance changes based on an environmental condition surrounding the apparatus;
a sensor capacitor whose capacitance changes based on a deflection of at least one plate forming the sensor capacitor and the environmental condition; and
a circuit to determine a weight of at least one item of a bin when the bin having the at least one item is placed on a surface of the sensor capacitor after removing an effect of the environmental condition from a capacitance of the sensor capacitor.
15. The inventory management system of claim 14 further comprising a housing that encompasses the reference capacitor, the sensor capacitor, and the circuit, and wherein the at least one plate experiencing the deflection is integrated in the housing.
16. The inventory management system of claim 15
wherein the housing is formed by a plurality of metal plates that are each laser etched and bonded together to create the housing,
wherein the housing is formed by a single metal block that is milled to form the housing, and wherein the deflection of the at least one plate forming the sensor capacitor is caused by a load applied to the housing; and
wherein the measurement is of a force applied to the housing.
17. The inventory management system of claim 16 further comprising a shielding spacer between the reference capacitor and a bottom of the housing to minimize an effect of a stray capacitance affecting the measurement, wherein a height of the shielding spacer is at least ten times larger than a plate spacer between plates of the reference capacitor and between plates of the sensor capacitor.
18. The inventory management system of claim 17 wherein an area of each plate forming the reference capacitor is at least ten times larger than an area of each plate forming the sensor capacitor to reduce the amount of amplification required in generating the measurement.
19. The inventory management system of claim 17 wherein the circuit includes a wireless transmitter and a wireless receiver and wherein the apparatus communicates through a network with a data processing system that analyzes data generated by various operation of the apparatus.
20. A method, comprising:
automatically generating a measurement of weight based on a change in a distance between a first conductive surface and a second conductive surface forming a variable capacitor when an item is placed on a surface of at least one of the first conductive surface and the second conductive surface;
communicating the measurement to an inventory management system associated with the variable capacitor.
21. The method of claim 20 further comprising:
forming a scale formed with a set of plates having inserted between the set of plates the first conductive surface and the second conductive surface;
placing a container adjacent to the scale such that at least one item of the container is weighed through the measurement, wherein the at least one item of the container comprises a liquid, a solid, a discrete part, a powder, and a gas; and
indicating a shortage of the at least one item when the measurement of the at least item varies from a tolerance weight.
22. The method of claim 20 wherein the change in the distance is caused by a deflection of the first conductive surface with respect to the second conductive surface, and wherein the deflection is at least one of a compressive force and an expansive force, and wherein the change in the distance is caused by a change in thickness of at least one spacer between the first conductive surface and the second conductive surface.
23. The method of claim 22 further comprising
applying an algorithm that converts a change in capacitance to at least one of a change in voltage and a change in frequency to generate the measurement, and wherein the measurement is of a force applied to a surface above the first conductive surface with respect to the second conductive surface;
adjusting the measurement based on at least one environmental condition by analyzing data of a reference capacitor;
fabricating the variable capacitor and the reference capacitor in any geometric shape, including a rectangular shape, an oval shape, and a shape having sides that are not all the same length; and
painting the first conductive surface and the second conductive surface on a plurality of nonconductive printed circuit boards.
24. The method of claim 23
wherein the change in the distance is caused by a load applied to the surface above the first conductive surface with respect to the second conductive surface,
wherein a change in capacitance of the variable capacitor is inversely proportional to the change in the distance between the first conductive surface and the second conductive surface, and
wherein the at least one environmental condition is humidity in a gap between the first conductive surface and the second conductive surface, a temperature of the variable capacitor, and an air pressure of an environment surrounding the variable capacitor.
25. The method of claim 20 in a form of a machine-readable medium embodying a set of instructions that, when executed by a machine, cause the machine to perform the method of claim 20.

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. A method comprising:
accessing a shared memory associated with a reader-writer lock according to a first concurrency mode;
dynamically changing from the first concurrency mode to a second concurrency mode; and
accessing the shared memory according to the second concurrency mode.
2. The method of claim 1, wherein the first concurrency mode comprises an optimistic concurrency mode and the second concurrency mode comprises a pessimistic concurrency mode.
3. The method of claim 2, further comprising maintaining a count of a number of accesses according to the optimistic concurrency mode that abort; and
dynamically changing from the first concurrency mode to the second concurrency mode based on a comparison between the count and a threshold.
4. The method of claim 3, further comprising acquiring a read lock on the reader-writer lock before accessing the shared memory in the pessimistic concurrency mode.
5. The method of claim 1, wherein accessing the shared memory according to the first concurrency mode comprises accessing data of the shared memory without acquiring a lock on the reader-writer lock.
6. The method of claim 5, further comprising determining whether a version number associated with the reader-writer lock at a commit time of an instruction matches the version number when the data was accessed.
7. The method of claim 1, further comprising:
acquiring a read lock on the reader-writer lock;
upgrading the read lock to a write lock; and
writing data to the shared memory.
8. The method of claim 7, further comprising writing an update indicator in a control portion of the reader-writer lock to upgrade the read lock.
9. The method of claim 8, further comprising releasing the write lock after a transaction associated with the data commits.
10. The method of claim 7, further comprising writing a notify indicator in a control portion of the reader-writer lock via a first thread and inserting an identifier for the first thread in a notification list.
11. The method of claim 1, further comprising writing indicator information in a control portion of the reader-writer lock and updating a count of readers in an identifier portion of the reader-writer lock.
12. An apparatus comprising:
a first memory location to act as a lockword, the lockword including a data portion and a control portion, wherein the control portion includes at least one indicator to identify an operation mode of the lockword; and
a second memory location to store data to be protected by the lockword.
13. The apparatus of claim 12, wherein the control portion further includes an upgrade indicator to indicate whether a reader seeks an upgrade to a writer status.
14. The apparatus of claim 12, wherein the control portion further includes a notification indicator to indicate whether a reader seeks notification when a writer releases the lockword.
15. The apparatus of claim 12, wherein the data portion is to identify a writer of the lockword and to identify a number of readers of the lockword.
16. The apparatus of claim 12, wherein the at least one indicator is to identify whether the lockword is in a pessimistic concurrency mode or an optimistic concurrency mode.
17. The apparatus of claim 16, wherein the apparatus is to adaptively toggle between the pessimistic concurrency mode and the optimistic concurrency based in part on a number of transaction aborts.
18. An article comprising a machine-accessible medium including instructions that when executed cause a system to:
access data associated with a lock variable without acquiring the lock variable;
perform a transaction using the data;
commit the transaction if a value of the lock variable has not changed from the time of access to the time of commitment; and
otherwise, abort the transaction and increment a count of aborted transactions.
19. The article of claim 18, further comprising instructions that when executed cause the system to dynamically change a mode of operation of the lock variable from an optimistic concurrency mode to a pessimistic concurrency mode based in part on the count.
20. The article of claim 19, further comprising instructions that when executed cause the system to set a mode indicator in a control portion of the lock variable to dynamically change the mode of operation.
21. The article of claim 18, further comprising instructions that when executed cause the system to upgrade a reader associated with the lock variable to a writer status.
22. The article of claim 21, further comprising instructions that when executed cause the system to set an upgrade indicator in a control portion of the lock variable to upgrade the reader.
23. A system comprising:
a processor to execute a first thread and a second thread; and
a transactional memory coupled to the processor, the transactional memory including a lock variable for a shared memory location, the lock variable to operate in a first concurrency mode or a second concurrency mode based upon a value of a mode indicator of the lock variable.
24. The system of claim 23, wherein the first concurrency mode comprises an optimistic concurrency mode and the second concurrency mode comprises a pessimistic mode, and wherein the first thread and the second thread can simultaneously acquire a read lock on the lock variable in the pessimistic mode.
25. The system of claim 23, wherein the lock variable is to further include an upgrade indicator writeable by the first thread to upgrade a status of the first thread to a writer status.
26. The system of claim 23, wherein the lock variable is to further include a notify indicator writeable by the first thread to request a notification of release of the lock variable by the second thread.
27. The system of claim 23, wherein the first thread is to abort a transaction if a value of the lock variable has changed from a time of access of the shared memory location by the first thread to a time of commitment of the transaction.
28. The system of claim 27, wherein the system is to update a count of aborted transactions if the value of lock variable changed.
29. The system of claim 28, wherein the system is to dynamically switch from the first concurrency mode to the second concurrency mode based in part on the count.