1461151570-90be8f90-0e1d-4b6a-a048-d84a3f7f9cd0

1. A method for providing a sequence of nonces (R0, R1, R2, . . . ) commencing with a current seed of a sequence of seeds (x1, x2, x3, . . . ), the method comprising:
(a) applying a one-way function to the current seed, thereby to generate a current nonce;
(b) outputting the current nonce;
(c) using the current seed to generate a next seed in a sequence of seeds, the seed so generated becoming the current seed; and
(d) repeating steps (a) to (c) as required to generate further nonces in the sequence of nonces.
2. A method according to claim 1, wherein x1 is generated based on an initial seed x0, the initial seed having been generated by a random number generator.
3. A method according to claim 2, the initial seed x0 having been generated based on a stochastic process.
4. A method according to claim 3, wherein the next seed is generated from the current seed on the basis of a second function.
5. A method according to claim 4, wherein the second function is less cryptographically strong than the one way function.
6. A method according to claim 5, wherein the second function is additive.
7. A method according to claim 1, wherein the second function is a linear feedback shift register function.
8. A method according to claim 1, wherein the one way function is a hash function.
9. A method according to claim 1, wherein the hash function is SHA1.
10. A device for generating a sequence of nonces (R0, R1, R2, . . . ), the device including:
memory for storing a current seed of a sequence of seeds (x1, x2, x3, . . . )\u2019 a processor configured to:
(a) apply a one way function to the current seed to generate a current nonce; and
(b) use the current seed to generate a next seed in the sequence of seeds, the seed so generated becoming the current seed; and
(c) storing the current seed in memory.
11. A device according to claim 10, configured to generate x1 in the seed sequence based on an initial seed x0, the initial seed being stored in a non-volatile manner in the device.
12. A device according to claim 10, wherein x0 was generated by a random number generator.
13. A device according to claim 12, the initial seed x0 having been generated based on a stochastic process.
14. A device according to claim 10, wherein the processor is configured to generate the next seed by applying a second function to the current seed.
15. A device according to claim 14, wherein the second function is less cryptographically strong than the one way function.
16. A device according to claim 15, wherein the second function is additive.
17. A device according to claim 10, wherein the second function is a linear feedback shift register function.
18. A device according to claim 10, wherein the memory is non-volatile.
19. A device according to claim 17, wherein the memory is flash memory.
20. A device according to claim 10, wherein the device comprises one or more integrated circuits.
21. A device according to claim 10, wherein the device comprises a monolithic integrated circuit.
22. A device according to claim 10, wherein the one way function is a hash function.
23. A device according to claim 22, wherein the hash function is SHA1.
24. A method of manufacturing a series of devices, each of the devices being in accordance with claim 10 and including a non-volatile memory, the method comprising:
generating a bit-pattern on the basis of a random or pseudo random process;
storing the bit-pattern in a non-volatile manner in the device;
wherein the device is configured to use the bit-pattern as an initial current seed, and to store subsequent generated seeds in the non-volatile memory.
25. A method according to claim 24, wherein the step of storing the bit-pattern in a non-volatile manner includes storing the value in a place other than in the non-volatile memory.
26. A method according to claim 25, wherein the bit-pattern is stored in non-erasable form.
27. A method according to claim 24, including the step of storing a program on the device, the program including the one way function for generating the current nonce from the current seed.
28. A method according to claim 27, wherein the one way function is a hash function.
29. A method according to claim 27, wherein the one way function is non-compressing.
30. A method according to claim 28, wherein the hash function is SHA1
31. A method according to claim 1, implemented in a first entity configured to authenticate a digital signature supplied by a second entity, wherein one of the entities includes a base key and the other of the entities includes a variant key and a bit-pattern, the variant key being based on the result of applying a one way function to the base key and the bit-pattern, the digital signature having been generated by the second entity using its key to digitally signing at least part of data to be authenticated, the first entity being configured to:
(a) receive the digital signature from the second entity;
(b) receive the data; and
(c) authenticate the digital signature based on the received data and the first entity’s key.
32. A method according to claim 1, implemented in a first entity including:
a first bit-pattern
a non-volatile memory storing resource data,
a first base key for use with at least a first variant key;
a second variant key for use with a second base key, the second variant key being the result of a one way function applied to: the second base key; and the first bit-pattern or a modified bit-pattern based on the first bit-pattern.
33. A method according to claim 1, for enabling or disabling a verification process of a first entity in response to a predetermined event, the first entity having at least one associated bit-pattern and at least one variant key, each of the variant keys having been generated by applying a one way function to: a base key; and one or more of the at least one bit-patterns, respectively; or one or more alternative bit patterns, each of the alternative bit-patterns being based on one or the at least one bit-patterns, the method including
(a) determining that the predetermined event has happened; and
(b) enabling or disabling at least one of the first variant keys in response the predetermined event.
34. A method according to claim 1, implemented in a system for enabling authenticated communication between a first entity and at least one other entity, the system including a second entity, wherein:
the first entity and the second entity share transport keys; and
the second entity includes at least one authentication key configured to be transported from the second entity to the first entity using the transport keys, the authentication key being usable to enable the authenticated communication by the first entity.
35. A method according to claim 1, for storing a first bit-pattern in non-volatile memory of a device, the method comprising:
(a) applying a one way function to a second bit-pattern associated with the device, thereby to generate a first result;
(b) applying a second function to the first result and the first bit-pattern, thereby to generate a second result; and
(c) storing the second result in the memory, thereby indirectly storing the first bit-pattern.
36. A method according to claim 1, for storing a bit-pattern in each of a plurality of devices, each of the devices having a memory, the method comprising, for each device:
(a) determining a first memory location; and
(b) storing the bit-pattern at the first memory location;
wherein the first memory locations are different in at least a plurality of the respective devices.
37. A method according to claim 1, for storing at least one functionally identical code segment in each of a plurality of devices, each of the devices having a memory, the method comprising, for each device:
(a) determining a first memory location; and
(b) storing a first of the at least one code segments in the memory at the first memory location;
wherein the first memory location is different in at least a plurality of the respective devices.
38. A method according to claim 1, for storing multiple first bit-patterns in non-volatile memory of a device, the method comprising, for each of the first bit-patterns to be stored:
(a) applying a one way function to a third bit-pattern based on a second bit-pattern associated with the device, thereby to generate a first result;
(b) applying a second function to the first result and the first bit-pattern, thereby to generate a-second result; and
(c) storing the second result in the memory, thereby indirectly storing the first bit-pattern;
wherein the third bit-patterns used for the respective first bit-patterns are relatively unique compared to each other.

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 product management and securement system for deterring theft of items from a merchandise display comprising;
a plurality of shelves, including at least a first and second shelf;
a plurality of vertical walls mounted to the shelves, at least some of the vertical wall located between the first and second shelf,
a retaining wall mounted to the first shelf, the retaining wall having a height that limits access to the items on the first shelf, the retaining wall including an opening to permit product to be pushed back away from the retaining wall and including at least one mounting opening for the mounting of at least one lock mechanism, and
a barrier mounted to the second shelf and extending toward the first shelf, the barrier being selectively locked to the retaining wall through the use of the at least one lock mechanism.
2. The product management and securement system of claim 1 wherein the barrier is operatively connected to an alert device.
3. The product management and securement system of claim 2 wherein the barrier is movable from a closed position to an open position, and wherein the alert device provides a signal after the movable barrier has been in the open position for a predetermined amount of time.
4. The product management and securement system of claim 1 wherein the lock mechanism includes an oval-shaped lock and wherein the at least one mounting opening is oval-shaped.
5. The product management and securement system of claim 1 further comprising a lock plate selectively mounted to the at least one mounting opening.
6. The product management and securement system of claim 5 wherein the lock plate defines a nose portion and a back plate portion.
7. The product management and securement system of claim 6 wherein the nose portion further defines a notch.
8. The product management and securement system of claim 7 wherein the nose portion further defines a hole for receiving a lock.
9. The product management and securement system of claim 8 wherein the back plate portion is positioned on one side of the retaining wall and the nose portion extends through the at least one mounting opening.
10. The product management and securement system of claim 1 further comprising a selectively movable power bar.

1461151558-1619d9b7-474c-4116-b8ae-c40cbaae876e

1. A method for delivering ballast to a section of railroad track, comprising:
measuring an existing ballast profile of a section of railroad track using a remote sensing system, and providing a signal indicative thereof to a first computer;
comparing the existing ballast profile with an ideal ballast profile to generate a track file representing a volume of additional ballast needed as a function of linear position along the section of railroad track, using the first computer;
transmitting data representing the track file to a second computer of an automatic ballast dump train; and
dumping ballast along the section of railroad track according to the track file via the ballast dump train under control of the second computer.
2. A method in accordance with claim 1, wherein the remote sensing system comprises a Light Detection and Ranging (LIDAR) system.
3. A method in accordance with claim 2, further comprising a pair of LIDAR devices, oriented toward rails of the railroad track, the LIDAR devices configured to obtain data across an arc having an angle of from about 100\xb0 to about 270\xb0.
4. A method in accordance with claim 1, wherein the step of measuring the existing ballast profile comprises obtaining a set of data points representing the existing railroad track surface.
5. A method in accordance with claim 4, further comprising the steps of:
defining an arbitrary surface;
finding points in the set of data points that represent the existing railroad track surface;
identifying landmark points of the existing railroad track surface within the set of data points;
comparing locations of the landmark points in the set of data points to expected locations of the landmark points;
calculating a positional difference between the locations of the landmark points and the expected locations;
transforming the set of data points by the positional difference;
registering the arbitrary surface to the location of the landmark points;
updating the expected location of landmark points for subsequent scenes using the transformed set of data points.
6. A method in accordance with claim 1, wherein the step of measuring an existing ballast profile comprises obtaining a set of data points representing an existing surface of the railroad track.
7. A method in accordance with claim 6, wherein the step of comparing the existing ballast profile with an ideal ballast profile comprises:
registering an ideal surface with reference to the existing surface to create a volume, the ideal surface defining a full volume level;
determining a number of scan points that lie below the full volume level;
obtaining an incremental cross-sectional area by multiplying a coordinate for each scan point that lies below the full volume level by a magnitude below the full volume level and a weighted factor associated with the volume; and
accumulating a total volume by multiplying the incremental cross-sectional area by an incremental distance between scan locations and adding all results.
8. A method in accordance with claim 1, wherein the first computer is associated with a ballast profiling rail vehicle, and the second computer is associated with a ballast train having remotely controllable ballast dump gates on a plurality of ballast hopper cars.
9. A method in accordance with claim 1, wherein the first computer and second computer are both associated with a ballast train having remotely controllable ballast dump gates on a plurality of ballast hopper cars.
10. A method in accordance with claim 1, wherein the track file represents a ballast plan having an execution period of a year or more.
11. A method for delivering ballast to a section of railroad track, comprising:
measuring an existing ballast profile of a section of railroad track using a remote sensing system, and providing a signal indicative thereof to a first computer having a processor and system memory;
comparing the existing ballast profile with an ideal ballast profile to determine a volume of additional ballast needed as a function of linear position along the section of railroad track, using the first computer; and
dumping ballast along the section of railroad track according to the determined volume of additional ballast needed using an automatic ballast dump train.
12. A method in accordance with claim 11, wherein the step of measuring an existing ballast profile of a section of railroad track using a remote sensing system comprises scanning the section of railroad track with a remote sensing device and obtaining a set of data points representing the existing railroad track surface.
13. A method in accordance with claim 11, wherein the step of comparing the existing ballast profile with an ideal ballast profile comprises:
registering an ideal surface with reference to the set of data points, the ideal surface defining a full volume level;
determining a number of scan points that fall within the volume and lie below the full volume level;
obtaining an incremental cross-sectional area by multiplying a coordinate for each scan point that lies below the full volume level by a magnitude below the full volume level and a weighted factor associated with the volume; and
accumulating a total volume by multiplying the incremental cross-sectional area by an incremental distance between scan locations and adding all results.
14. A method in accordance with claim 11, further comprising compensating for possible irregularities in the ballast profile by the steps of:
defining an arbitrary surface;
finding points in the set of data points that represent the existing railroad track surface;
identifying landmark points of the existing railroad track surface within the set of data points;
comparing locations of the landmark points in the set of data points to expected locations of the landmark points;
calculating a positional difference between the locations of the landmark points and the expected locations;
transforming the set of data points by the positional difference;
registering the arbitrary surface to the location of the landmark points; and
updating the expected location of landmark points for subsequent scenes using the transformed set of data points.
15. A method in accordance with claim 11, wherein the first computer is associated with a ballast profiling rail vehicle, and the step of comparing the existing ballast profile with an ideal ballast profile is performed by the first computer.
16. A method in accordance with claim 11, wherein the second computer is associated with the automatic ballast dump train, and controls the dumping of ballast along the section of railroad track.
17. A method, performed by a computer having a processor and system memory, for calculating missing ballast volume on a section of railroad track, comprising:
scanning an existing section of railroad track using a remote sensing system to produce a set of data points representing an existing surface of the railroad track;
registering an ideal surface with reference to the existing surface to create a volume, the ideal surface defining a full volume level;
determining a number of scan points that fall within the volume and lie below the full volume level;
obtaining an incremental cross-sectional area by multiplying a coordinate for each scan point that lies below the full volume level by a magnitude below the full volume level and a weighted factor associated with the volume; and
accumulating a total volume by multiplying the incremental cross-sectional area by an incremental distance between scan locations and adding all results.
18. A method in accordance with claim 17, wherein the remote sensing system comprises a LIDAR system.
19. A method in accordance with claim 17, further comprising compensating for possible irregularities in the data points representing the existing surface by the steps of:
defining an arbitrary surface;
finding points in the set of data points that represent the existing railroad track surface;
identifying landmark points of the existing railroad track surface within the set of data points;
comparing locations of the landmark points in the set of data points to expected locations of the landmark points;
calculating a positional difference between the locations of the landmark points and the expected locations;
transforming the set of data points by the positional difference;
registering the arbitrary surface to the location of the landmark points; and
updating the expected location of landmark points for subsequent scenes using the transformed set of data points.
20. A method in accordance with claim 17, further comprising:
providing a graphical user interface having an interactive map of the section of railroad track; and
displaying ballast data on the interactive map.
21. A method in accordance with claim 20, wherein the ballast data is selected from the group consisting of: No Dump Zone (NDZ) begin and end points; quantity of ballast needed; number of ballast hopper car gates of ballast to drop for a given train speed; locations at which to drop ballast; curves and spiral easements; and truck position.
22. A method in accordance with claim 20, wherein the graphical user interface further includes features selected from the group consisting of: an image showing remote sensing points; a milepost marker input feature; a note input feature; and a 3-D model of the environment.
23. A method, performed by a computer having a processor and system memory, for registering a functional equation to fixed infrastructure defined in a set of points, comprising:
defining an arbitrary surface;
generating a 3-dimensional set of points of a physical scene using a remote sensing system;
finding points in the set of points that represent the fixed infrastructure in the physical scene;
identifying landmark points of the fixed infrastructure within the set of points;
comparing locations of landmark points in the set of points to an expected location of the landmark points and calculating a numerical difference therebetween;
transforming the sensed set of points by the calculate numerical difference; and
registering the arbitrary surface to the location of the landmark points.
24. A method in accordance with claim 23, wherein the fixed infrastructure comprises a portion of railroad track.
25. A method in accordance with claim 24, wherein the landmark points are selected from the group consisting of: the top inside corner of a rail; the bottom inside corner of a rail; the top outside corner of a rail; the bottom outside corner of a rail; a top surface of a crosstie; and a top outside corner of a crosstie.
26. A method in accordance with claim 23, wherein the step of generating the 3-dimensional point set of the physical scene comprises generating a set of data points using a LIDAR system.
27. A method in accordance with claim 26, wherein the physical scene comprises a railroad track, and the set of data points is generated using a pair of LIDAR devices oriented toward rails of the railroad track, the LIDAR devices being configured to sweep an arc having an angle of from about 100\xb0 to about 270\xb0.
28. A method, performed by a computer having a processor and system memory, for analyzing a section of railroad track, comprising:
scanning an existing section of railroad track using a remote sensing system to produce a set of data points representing an existing scene along the railroad track;
determining a geometric position and characteristics of physical features represented by data points in the scene.
29. A method in accordance with claim 28, further comprising the step of analyzing the physical features in the scene to determine their proximity to a safety envelope associated with the railroad track.
30. A method in accordance with claim 28, wherein the step of determining the geometric position and characteristics of physical features represented by data points in the scene comprises determining the presence of a grade crossing.
31. A method in accordance with claim 28, wherein the step of determining the geometric position and characteristics of physical features represented by data points in the scene comprises determining a relative vertical angle of a roadway at a grade crossing.

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-8. (canceled)
9. A computer usable program product comprising a non-transitory computer usable storage medium including computer usable code for use in a mobile device to prevent loss, the computer usable program product comprising code for performing the steps of:
monitoring environmental parameters by a mobile device;
storing the environmental parameters in the mobile device to form a history of the environmental parameters;
applying statistical analysis to a current set of environmental parameters as compared to the history of the environmental parameters to determine a probability that the mobile device is lost; and
responsive to determining the probability that the mobile device is lost exceeds a threshold, performing an action to prevent loss of the mobile device.
10. The computer usable program product of claim 9 wherein the history contains respective histories of a plurality of environmental parameters.
11. The computer usable program product of claim 10 wherein the history of environmental parameters is selected from a group consisting of location parameters, ambient parameters, operational functionality parameters, derivative parameters, and correlations between environmental parameters.
12. The computer usable program product of claim 11 wherein the environmental parameters are selected from a group consisting of an indication of location relative to another device, geographic location, temperature, device motion, device orientation, image capture analysis, audio capture analysis, battery depletion of the device, and analysis of the operational functionality of the device.
13. The computer usable program product of claim 9 wherein the action is selected from a group consisting of an audible alert, flashing a light, texting information to another device, emailing information to another device, and phoning information to another device.
14. The computer usable program product of claim 10 further comprising:
generating statistical derivatives of the history of environmental parameters;
wherein applying statistical analysis to a current set of environmental parameters as compared to the history of the environmental parameters includes applying statistical analysis to statistical derivatives of the history of the environmental parameters.
15. A data processing system for a mobile device to prevent loss, the data processing system comprising:
a processor; and
a memory storing program instructions which when executed by the processor execute the steps of:
monitoring environmental parameters by a mobile device;
storing the environmental parameters in the mobile device to form a history of the environmental parameters; applying statistical analysis to a current set of environmental parameters as compared to the history of the environmental parameters to determine a probability that the mobile device is lost; and
responsive to determining the probability that the mobile device is lost exceeds a threshold, performing an action to prevent loss of the mobile device.
16. The data processing system of claim 15 wherein the history contains respective histories of a plurality of environmental parameters.
17. The data processing system of claim 16 wherein the history of environmental parameters is selected from a group consisting of location parameters, ambient parameters, operational functionality parameters, derivative parameters, and correlations between environmental parameters.
18. The data processing system of claim 17 wherein the environmental parameters are selected from a group consisting of an indication of location relative to another device, geographic location, temperature, device motion, device orientation, image capture analysis, audio capture analysis, battery depletion of the device, and analysis of the operational functionality of the device.
19. The data processing system of claim 15 wherein the action is selected from a group consisting of an audible alert, flashing a light, texting information to another device, emailing information to another device, and phoning information to another device.
20. The data processing system of claim 16 further comprising:
generating statistical derivatives of the history of environmental parameters;

wherein applying statistical analysis to a current set of environmental parameters as compared to the history of the environmental parameters includes applying statistical analysis to statistical derivatives of the history of the environmental parameters.