1461120197-f425627d-217d-482d-939c-7403d9734acd

1.-8. (canceled)
9. A system, comprising:
a memory; and
a processor programmed to:
provide a directory operational block data structure within the memory that allows configuration of a directory of a file system at an operating-system level with at least one executable program to be executed in response to configurable operating-system level directory events associated with the directory;
attach, within the directory operational block data structure, a first program to execute in response to a specified directory event; and
execute, at the operating-system level, the attached first program in response to detection of the specified directory event.
10. The system of claim 9, where in being programmed to attach, within the directory operational block data structure, the first program to execute in response to the specified directory event, the processor is programmed to attach the first program to execute in response to the specified directory event in an order specified by a first execution sequence identifier and the processor is further programmed to:
attach, within the directory operational block data structure, a second program to execute in response to the specified directory event in an order specified by a second execution sequence identifier.
11. The system of claim 10, where in being programmed to execute, at the operating-system level, the attached first program in response to the detection of the specified directory event, the processor is programmed to execute the attached first program in a sequence with the attached second program based upon the order specified by the first and second execution sequence identifiers.
12. The system of claim 9, where in being programmed to attach, within the directory operational block data structure, the first program to execute in response to the specified directory event, the processor is programmed to:
assign the first program to a position in the directory operational block data structure associated with an execution sequence identifier; and
map the first program to a directory event trigger within the directory operational block data structure that identifies the specified directory event.
13. The system of claim 9, where the directory operational block data structure is configurable with at least one permission criterion for authorization to attach programs to the directory operational block data structure for execution in response to directory events and where in being programmed to attach, within the directory operational block data structure, the first program to execute in response to the specified directory event, the processor is programmed to:
determine a user identifier of a user issuing a configuration command for the directory operational block data structure;
determine whether the identified user has permission to attach the programs to the directory operational block data structure based upon the at least one permission criterion; and
attach, within the directory operational block data structure, the first program to execute in response to the specified directory event in response to determining that the user has permission to attach the programs to the directory operational block data structure
14. The system of claim 9, where in being programmed to execute, at the operating-system level, the attached first program in response to the detection of the specified directory event, the processor is programmed to execute the attached first program at the operating-system level in one of a safe mode and a journaled mode.
15. The system of claim 9, where the attached first program comprises a script and where in being programmed to execute, at the operating-system level, the attached first program in response to the detection of the specified directory event, the processor is programmed to:
validate that the script is compliant with scripting requirements for an operating system executed within the operating-system level; and
execute the script in response to the script being validated as compliant with scripting requirements for the operating system.
16. The system of claim 9, where in being programmed to execute, at the operating-system level, the attached first program in response to the detection of the specified directory event, the processor is programmed to:
determine whether execution of programs identified within the directory operational block data structure is enabled; and
execute the attached first program in response to determining that the execution of programs within the directory operational block data structure is enabled.
17. A computer program product, comprising:
a computer readable storage medium having computer readable program code embodied therewith, where the computer readable program code when executed on a computer causes the computer to:
provide a directory operational block data structure that allows configuration of a directory of a file system at an operating-system level with at least one executable program to be executed in response to configurable operating-system level directory events associated with the directory;
attach, within the directory operational block data structure, a first program to execute in response to a specified directory event; and
execute, at the operating-system level, the attached first program in response to detection of the specified directory event.
18. The computer program product of claim 17, where in causing the computer to attach, within the directory operational block data structure, the first program to execute in response to the specified directory event, the computer readable program code when executed on the computer causes the computer to attach the first program to execute in response to the specified directory event in an order specified by a first execution sequence identifier and the computer readable program code when executed on the computer further causes the computer to:
attach, within the directory operational block data structure, a second program to execute in response to the specified directory event in an order specified by a second execution sequence identifier.
19. The computer program product of claim 18, where in causing the computer to execute, at the operating-system level, the attached first program in response to the detection of the specified directory event, the computer readable program code when executed on the computer causes the computer to execute the attached first program in a sequence with the attached second program based upon the order specified by the first and second execution sequence identifiers.
20. The computer program product of claim 17, where in causing the computer to attach, within the directory operational block data structure, the first program to execute in response to the specified directory event, the computer readable program code when executed on the computer causes the computer to:
assign the first program to a position in the directory operational block data structure associated with an execution sequence identifier; and
map the first program to a directory event trigger within the directory operational block data structure that identifies the specified directory event.
21. The computer program product of claim 17, where the directory operational block data structure is configurable with at least one permission criterion for authorization to attach programs to the directory operational block data structure for execution in response to directory events and where in causing the computer to attach, within the directory operational block data structure, the first program to execute in response to the specified directory event, the computer readable program code when executed on the computer causes the computer to:
determine a user identifier of a user issuing a configuration command for the directory operational block data structure;
determine whether the identified user has permission to attach the programs to the directory operational block data structure based upon the at least one permission criterion; and
attach, within the directory operational block data structure, the first program to execute in response to the specified directory event in response to determining that the user has permission to attach the programs to the directory operational block data structure
22. The computer program product of claim 17, where in causing the computer to execute, at the operating-system level, the attached first program in response to the detection of the specified directory event, the computer readable program code when executed on the computer causes the computer to execute the attached first program at the operating-system level in one of a safe mode and a journaled mode.
23. The computer program product of claim 17, where the attached first program comprises a script and where in causing the computer to execute, at the operating-system level, the attached first program in response to the detection of the specified directory event, the computer readable program code when executed on the computer causes the computer to:
validate that the script is compliant with scripting requirements for an operating system executed within the operating-system level; and
execute the script in response to the script being validated as compliant with scripting requirements for the operating system.
24. The computer program product of claim 17, where in causing the computer to execute, at the operating-system level, the attached first program in response to the detection of the specified directory event, the computer readable program code when executed on the computer causes the computer to:
determine whether execution of programs identified within the directory operational block data structure is enabled; and
execute the attached first program in response to determining that the execution of programs within the directory operational block data structure is enabled.

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 of estimating a step length, comprising:
under control of one or more processors configured with executable instructions:
receiving sensor data from a sensor;
estimating a step frequency from the sensor data; and
calculating a step length of a step based at least in part on a nonlinear combination of the estimated step frequency and a predetermined function of the sensor data.
2. The method of claim 1, further comprising:
determining a type of movement of a user that the sensor measures, the type of movement being selected from a group consisting of walking, jogging and running; and
selecting a step model based on the determined type of movement of the user.
3. The method of claim 2, wherein selecting the step model is further based on personal information of the user, a position of the sensor, a type of shoes that the user wears andor a type of surface on which the user moves, wherein the personal information of the user comprises an age of the user, a height of the user, a weight of the user andor a gender of the user, and the position of the sensor comprises a position close to a body part of the user, a pocket of the user’s clothes or a bag of the user.
4. The method of claim 2, wherein determining the type of movement of the user is based at least in part on the estimated step frequency and the calculated step length.
5. The method of claim 2, wherein calculating the step length comprises calculating the step length based on the selected step model.
6. The method of claim 2, further comprising:
detecting a change in the type of movement to a new type of movement; and
selecting a new step model based on the new type of movement.
7. The method of claim 1, wherein the estimating comprises:
detecting salient points of a same type from the sensor data;
estimating the step frequency based on a time interval between the salient points of the same type in the sensor data.
8. The method of claim 7, further comprising filtering the sensor data using a low-pass filter prior to detecting the salient points in the sensor data.
9. The method of claim 8, wherein the low-pass filter comprises a Finite Impulse Response (FIR) filter andor a Biorthogonal Spline Wavelet (BSW) filter.
10. The method of claim 7, wherein estimating the step frequency comprises:
determining that the time interval between the detected salient points is less than a predetermined threshold; and
in response to determining that the time interval between the detected salient points is less than the predetermined threshold, detecting a new salient point that is located outside the time interval between the detected turned points, and estimating the step frequency based on a new time interval between the new salient point and one of the detected salient points.
11. The method of claim 7, wherein estimating the frequency comprises:
determining that the time interval between the detected salient points is greater than a predetermined threshold; and
in response to determining that the time interval between the detected salient points is greater than the predetermined threshold, detecting a new salient point that is located within the time interval between the detected salient points, and estimating the step frequency based on a new time interval between the new salient point and one of the detected salient points.
12. The method of claim 1, further comprising:
determining a condition associated with a first computing device that receives the sensor data from the sensor;
performing the estimating andor the calculating at the first computing device or a second computing device communicatively connected to the first computing device based on the determining.
13. The method of claim 12, wherein the condition associated with the first computing device comprises an application response latency, a power reserve, a processor speed, a CPU occupancy rate, andor a network bandwidth or speed between the first computing device and the second computing device.
14. One or more computer-readable media configured with computer-executable instructions that, when executed by one or more processors, configure the one or more processors to perform acts comprising:
determining an area of interest in which a user intends to navigate;
obtaining a map covering at least a portion of the determined area of interest; and
determining a location of the user on the obtained map based on a detection of a plurality of steps the user has made and an estimation of respective step lengths of the plurality of steps.
15. The one or more computer-readable media of claim 14, further comprising providing a recommendation to the user through a computing device based on the determined location, the recommendation comprising an advertisement related to the determined location.
16. The one or more computer-readable media of claim 14, wherein the determined area of interest comprises an indoor area with little or no signal of a Global Positioning System (GPS), and determining the location of the user within the determined area of interest is performed using local sensors without using GPS data.
17. The one or more computer-readable media of claim 14, further comprising:
receiving location information from one or more devices; and
updating the determined location based on the received location information.
18. The one or more computer-readable media of claim 17, further comprising updating a step model that is used for the detection of the plurality of steps the user has made and the estimation of respective step lengths for the plurality of steps in response to determining that a difference between the determined location and the updated location is greater than a predetermined threshold.
19. The one or more computer-readable media of claim 14, wherein determining the location of the user comprises, for each step of the plurality of steps:
receiving acceleration readings from an accelerometer;
estimating a step frequency from the received acceleration readings; and
calculating a step length of the respective step based at least in part on a combination of a nonlinear function of the estimated step frequency and a linear or nonlinear function of the acceleration readings.
20. A system comprising:
one or more processors;
memory, communicatively coupled to the one or more processors, storing instructions that, when executed by the one or more processors, configure the one or more processors to perform acts comprising:
displaying a map representing a predetermined scope of an area that covers a current location of a user;
receiving an indication of a destination location on the displayed map from the user; and
providing live instructions to the user to route the user to the destination location without using a Global Positioning System (GPS), providing the live instructions comprising updating a new location of the user based on a detection of a plurality of steps and an estimation of respective step lengths of the plurality of steps made by the user.

1461120185-26507735-42db-4e75-baee-1d1579e0c45c

1. An apparatus comprising:
an execution logic that includes circuitry to execute instructions; and
an instruction execution scheduler logic coupled with the execution logic, the instruction execution scheduler logic to receive an execute at commit state update instruction, the instruction execution scheduler logic including:
at commit state update logic to wait to schedule the execute at commit state update instruction for execution until the execute at commit state update instruction is a next instruction to commit.
2. The apparatus of claim 1, wherein the instruction execution scheduler logic comprises an out-of-order instruction execution scheduler queue, the out-of-order instruction execution scheduler queue operable to schedule a younger instruction for execution before scheduling the execute at commit state update instruction for execution.
3. The apparatus of claim 2, further comprising a reorder buffer coupled with the out-of-order instruction execution scheduler queue, the reorder buffer to provide an indication to the out-of-order instruction execution scheduler queue that the execute at commit state update instruction is the next instruction to commit.
4. The apparatus of claim 1, wherein the execute at commit state update instruction comprises an execute at commit control register write instruction, which is to write a control register.
5. The apparatus of claim 1, wherein the execute at commit state update instruction is to update state that is not configured to be renamed.
6. The apparatus of claim 1, wherein the instruction execution scheduler logic comprises a reservation station.
7. The apparatus of claim 1, wherein the execute at commit state update logic comprises:
a plurality of sets of one or more at commit bits, each of the sets of the one or more at commit bits corresponding to a different entry in an instruction execution scheduler queue of the instruction execution scheduler logic;
bit value adjustment logic operable, responsive to the execute at commit state update instruction, to adjust a value of a set of one or more at commit bits at an entry in the instruction execution scheduler queue corresponding to the execute at commit state update instruction to a given value;
determination logic operable, when the set of the one or more at commit bits at the entry in the instruction execution scheduler queue corresponding to the execute at commit state update instruction has the given value, to determine whether an indication of the next instruction to commit matches an indication of the execute at commit state update instruction at the entry in the instruction execution scheduler queue corresponding to the execute at commit state update instruction.
8. The apparatus of claim 7, wherein the bit value adjustment logic operable comprises a decoder to decode the at commit state update instruction, and wherein the determination logic comprises a plurality of sets of determination logic each corresponding to a different entry, a set of determination logic for the entry corresponding to the execute at commit state update instruction operable to determine if a plurality of bits representing the next instruction to commit equals a plurality of bits representing the execute at commit state update instruction.
9. The apparatus of claim 7, wherein the instruction scheduler logic is operable to block issuance of the execute at commit state update instruction if the determination logic determines that the indication of the next instruction to commit does not match the indication of the execute at commit state update instruction.
10. A method comprising:
receiving an execute at commit state update instruction;
waiting to schedule the execute at commit state update instruction for execution until the execute at commit state update instruction is a next instruction to commit; and
scheduling the execute at commit state update instruction for execution when it is the next instruction to commit.
11. The method of claim 10, further comprising after receiving the instruction, and before scheduling the instruction for execution, scheduling a younger instruction for execution, the younger instruction being younger than the execute at commit state update instruction.
12. The method of claim 10, further comprising:
updating internal state of an instruction processing apparatus when the state update instruction executes, wherein the internal state comprises a control register that is not configured to be renamed.
13. The method of claim 10, wherein the waiting to schedule the instruction comprises storing the instruction in an instruction queue of an instruction execution scheduler queue.
14. The method of claim 10, further comprising:
responsive to receiving the instruction, changing a value of one or more at commit bits; and
blocking scheduling of the instruction, after the value of the one or more at commit bits have been changed, until an identifier of the execute at commit state update instruction matches an indication of the next instruction to commit.
15. An article of manufacture comprising:
a machine-readable storage media having stored thereon an execute at commit state update-instruction that if processed by a machine results in the machine performing operations including,
waiting to schedule the execute at commit state update instruction for execution until the execute at commit state update instruction is a next instruction to commit; and
scheduling the execute at commit state update instruction for execution when it is the next instruction to commit.
16. The article of manufacture of claim 15, wherein the execute at commit state update instruction further results in the machine performing operations comprising:
scheduling a younger instruction for execution, the younger instruction being younger than the execute at commit state update instruction, after receiving the execute at commit state update instruction, and before scheduling the execute at commit state update instruction for execution.
17. The article of manufacture of claim 15, wherein the execute at commit state update instruction further results in the machine performing operations comprising:
updating internal state of the machine when the execute at commit state update instruction commits, in which the internal state comprises a control register that is not renamed through register renaming.
18. A system comprising:
an interconnect;
a processor coupled with the interconnect, the processor including an instruction execution scheduler logic, the instruction execution scheduler logic having:
logic, responsive to the execute at commit state update instruction, to block scheduling of the execute at commit state update instruction for execution until the execute at commit state update instruction is a next instruction to commit; and
a dynamic random access memory (DRAM) coupled with the interconnect.
19. The system of claim 18, in which the instruction execution scheduler logic is included in an out-of-order portion of the processor.
20. The system of claim 18, wherein the execute at commit state update instruction comprises a control register write instruction that is operable to cause the processor to write a control register, and wherein the control register is not configured to be renamed.

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. An adjustable alignment golf putter to compensate for a golfer’s visual misalignment of the putter face to the target line between the optimum contact point on the putter face and the cup comprising an upper golf grip and a lower putter head attached to opposite end portions of a putter shaft, the putter head including a putter body having an outer putter face including a centrally disposed optimum contact point on one side thereof to strike a golf ball when putting and a visual alignment means disposed on the side opposite the putter face, said visual alignment means including a visual alignment base to support a visual alignment indicator movably positioned thereon in operative disposition relative to the optimum contact point to selectively align said visual alignment indicator on a line between the optimum contact point and the cup to compensate for the golfer’s visual misalignment, said visual alignment means further comprises an alignment indicator guide to control the directional movement of the visual alignment indicator relative to the alignment base wherein said alignment indicator guide comprises an arcuate guide recess formed in the upper surface of said alignment support base and a corresponding arcuate guide member extending downwardly from said visual alignment indicator at least partially disposed within said arcuate guide recess.
2. The adjustable alignment golf putter of claim 1 wherein said arcuate guide member is symmetrically disposed on said visual alignment indicator and said arcuate guide recess is symmetrically disposed on said alignment base such that when said arcuate guide member is centered in said arcuate guide recess, said visual alignment indicator is substantially perpendicular to said putter face.
3. The adjustable alignment golf putter of claim 2 wherein said arcuate guide recess is slightly larger than said arcuate guide member to provide smooth movement or swing of said visual alignment indicator relative to said alignment base when adjusting or aligning said visual alignment indicator.
4. The adjustable alignment golf putter of claim 1 wherein said visual alignment indicator comprises an elongated member.
5. The adjustable alignment golf putter of claim 4 wherein a line or other alignment indicator is formed on the upper surface of said elongated member.
6. The adjustable alignment golf putter of claim 5 wherein said visual alignment indicator further includes a directional indicia formed on the distal end portion thereof and a pointer indicia formed on the proximal end portion thereof to align the putter face.
7. The adjustable alignment golf putter of claim 4 wherein said visual alignment indicator comprises a series of dots or other alignment indicator.
8. The adjustable alignment golf putter of claim 4 wherein said visual alignment indicator comprises an interrupted line.
9. The adjustable alignment golf putter of claim 1 wherein said alignment contact indicia is formed on the top surface of said putter body in vertical alignment relative to said centrally disposed optimum contact point.
10. The adjustable alignment golf putter of claim 1 wherein said visual alignment indicator comprises a visual indicia formed on said putter body and a visual indicia formed on said visual alignment indicator.
11. The adjustable alignment golf putter of claim 10 wherein said visual indicia formed on said putter body comprises a dot formed on the top surface of said putter body in substantially vertical alignment relative to said centrally disposed optimum contact point.
12. The adjustable alignment golf putter of claim 11 wherein said visual indicia formed on said visual alignment indicator is angularly adjustable relative to said dot such that when properly aligned therewith a straight line therebetween is aligned with the intended or target line.
13. An adjustable alignment golf putter to compensate for a golfer’s visual misalignment of the putter face to the target line between the optimum contact point on the putter face and the cup comprising an upper golf grip and a lower putter head attached to opposite end portions of a putter shaft, the putter head including a putter body having an outer putter face including a centrally disposed optimum contact point on one side thereof to strike a golf ball when putting and a visual alignment means disposed on the side opposite the putter face, said visual alignment means including a visual alignment base to support a visual alignment indicator movably positioned thereon in operative disposition relative to the optimum contact point to selectively align said visual alignment indicator on a line between the optimum contact point and the cup to compensate for the golfer’s visual misalignment and a visual alignment indicator retention member to selectively secure said visual alignment indicator in position relative to the optimum contact point wherein said indicator retention member comprises a fastener at least partially disposed within a retention recess and a retention channel formed in a raised putter foot of said alignment base extending through said channel to engage a rear face of an arcuate retention member extending downwardly from said visual alignment indicator into an arcuate retention slot.
14. The adjustable alignment golf putter of claim 13 wherein the arcuate retention slot is disposed between the proximal end portion of said visual alignment indicator and said arcuate guide recess formed on said visual alignment indicator.
15. The adjustable alignment golf putter of claim 14 wherein said depth of said arcuate retention slot is greater than the depth of said arcuate guide recess.
16. An adjustable alignment golf putter to compensate for a golfer’s visual misalignment of the putter face to the target line between the optimum contact point on the putter face and the cup comprising an upper golf grip and a lower putter head attached to opposite end portions of a putter shaft, the putter head including a putter body having an outer putter face including a centrally disposed optimum contact point on one side thereof to strike a golf ball when putting and a visual alignment means disposed on the side opposite the putter face, said visual alignment means including a visual alignment base to support a visual alignment indicator movably positioned thereon in operative disposition relative to the optimum contact point to selectively align said visual alignment indicator on a line between the optimum contact point and the cup to compensate for the golfer’s visual misalignment, said visual alignment means further comprises an alignment indicator guide to control the directional movement of the visual alignment indicator said relative to the alignment base wherein said alignment indicator guide comprises a guide recess formed in the upper surface of said alignment support base and a corresponding guide member extending downwardly from said visual alignment indicator at least partially and slideably disposed within said guide recess.