1460726080-88d0950a-6862-465d-be39-24d5a419e74f

1. A method for routing data paths in an integrated circuit having a plurality of interconnect layers, said method comprising the steps of:
wiring a launching clock path and a receiving clock path on one or more interconnect layers according to at least one predetermined condition;
performing one or more timing tests to determine any critical paths;
determining a weight function based on a plurality of modeled delays for every layer segment used to route each critical path, wherein said weight function is defined as the difference between a first property of the launching clock path and the same first property of the receiving clock path on each layer; and
routing the data path only on a layer having a negative weight function, thereby ensuring compliance with a timing constraint for each critical path.
2. The method of claim 1, wherein in the launching clock path and the receiving clock path are wired such that a maximal difference between the delays of the launching clock tree and the receiving clock tree within one layer is as small as possible.
3. The method of claim 1, wherein the launching clock path and the receiving clock path are wired such that the sum of the differences between the delays of the launching clock path and the receiving clock path within one layer is as small as possible.
4. The method according to claim 1, wherein a segment of the data path that is not timing critical is wired on a plurality of the interconnect layers such that a local variation of the delay on each of the plurality of interconnect layers is as small as possible.
5. The method according to claim 1, wherein the delays of the receiving clock path and the launching clock path are assumed to be linear and separable functions corresponding to a plurality of variation sources.
6. The method according to claim 1, wherein the weight function is defined as the difference between a delay of the launching clock path and a delay of the receiving clock path in every layer segment used to route each critical path.
7. The method according to claim 1, wherein the weight function is defined as the difference between the wire length of the launching clock tree and the wire length of the receiving clock tree in every layer segment used to route each critical path.
8. The method according to claim 1, wherein the launching clock path and the receiving clock path are wired such that in every layer the difference between the delays of the launching clock path and the receiving clock path is as small as possible for every path.
9. The method according to claim 1, wherein the timing test comprises a setup test.
10. The method according to claim 1, wherein the timing test comprises a hold test.
11. The method according to claim 1, wherein the timing test comprises a clock gating test.
12. A system for routing data paths in an integrated circuit having a plurality of interconnect layers, comprising:
a wire router adapted for wiring a launching clock path and a receiving clock path on one or more interconnect layers according to at least one predetermined condition;
a static timing tool adapted to perform one or more timing tests to determine any critical paths;
a wiring parameter extraction tool adapted for determining a weight function based on a plurality of modeled delays for every layer segment used to route each critical path, wherein said weight function is defined as the difference between a first property of the launching clock path and the same first property of the receiving clock path on each layer; and
a routing constraints file used with the wire router to ensure routing of the data path only on a layer having a negative weight function, thereby ensuring compliance with a timing constraint for each critical path.
13. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for routing data paths in an integrated circuit having a plurality of interconnect layers, said method steps comprising: wiring a launching clock path and a receiving clock path on one or more interconnect layers according to at least one predetermined condition;
performing one or more timing tests to determine any critical paths;
determining a weight function based on a plurality of modeled delays for every layer segment used to route each critical path, wherein said weight function is defined as the difference between a first property of the launching clock path and the same first property of the receiving clock path on each layer; and
routing the data path only on a layer having a negative weight function, thereby ensuring compliance with a timing constraint for each critical path.
14. The program storage device according to claim 13, wherein in the launching clock path and the receiving clock path are wired such that a maximal difference between the delays of the launching clock tree and the receiving clock tree within one layer is as small as possible.
15. The program storage device according to claim 13, wherein the launching clock path and the receiving clock path are wired such that the sum of the differences between the delays of the launching clock path and the receiving clock path within one layer is as small as possible.
16. The program storage device according to claim 13, wherein a segment of the data path that is not timing critical is wired on a plurality of the interconnect layers such that a local variation of the delay on each of the plurality of interconnect layers is as small as possible.
17. The program storage device according to claim 13, wherein the delays of the receiving clock path and the launching clock path are assumed to be linear and separable functions corresponding to a plurality of variation sources.
18. The program storage device according to claim 13, wherein the weight function is defined as the difference between the delay of the launching clock path and the delay of the receiving clock path in every layer segment used to route each critical path.
19. The program storage device according to claim 13, wherein the weight function is defined as the difference between a wire length of the launching clock tree and a wire length of the receiving clock tree in every layer segment used to route each critical path.
20. The program storage device according to claim 13, wherein the launching clock path and the receiving clock path are wired such that in every layer the difference between the delays of the launching clock path and the receiving clock path is as small as possible for every path.
21. The program storage device according to claim 13, wherein the timing test comprises a setup test.
22. The program storage device according to claim 13, wherein the timing test comprises a hold test.
23. The program storage device according to claim 13, wherein the timing test comprises a clock gating test.
24. The method according to claim 1, wherein the first property of the launching clock path comprises the modeled delay of that component of a launching clock path tree on a first layer, i.
25. The method according to claim 1, wherein the first property of the receiving clock path comprises the modeled delay of that component of a receiving clock path tree on a first layer, i.

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 detecting printhead rotation in an inkjet printer, comprising:
receiving an initial image of a pattern taken from a medium as the printhead passes over a medium;
receiving a subsequent image of the pattern taken from the medium as the printhead continues to pass over the medium;
comparing the initial image of the pattern and the subsequent image of the pattern taken from the medium; and
identifying a rotation of the printhead in the inkjet printer passing over the medium if the comparison indicates the initial image of the pattern is rotated relative to the subsequent image of the pattern.
2. The method of claim 1 further comprising:
modifying the timing settings associated with the firing of the nozzles in the ink-jet printhead to compensate for the rotation of the printhead.
3. The method of claim 1 further comprising:
redirecting data being printed to different nozzles to effectively compensating for printhead rotation.
4. The method of claim 2 further comprising:
printing on the medium using the modified timing settings for the inkjets in the printhead.
5. The method of claim 1 wherein printhead rotation detection is performed at one or more time intervals as the printhead passes over the medium.
6. The method of claim 1 wherein the printhead rotation occurs around a z-axis substantially perpendicular to a carriage direction.
7. The method of claim 1 wherein the medium is selected from a set of mediums including: a rolled medium, a cut-sheet medium, a paper medium, a transparent medium, a plastic medium, a textile medium, a cloth medium, and a metallic medium.
8. The method of claim 1 wherein the inkjet printhead is selected from a set including: thermal inkjet and piezoelectric ink-jet.
9. The method of claim 1 wherein the initial image of the pattern on the media is received at a first time instant from a photosensor array operatively coupled to the printhead and the subsequent image of the pattern is gathered at a second time instant from the same photosensor array operatively coupled to the printhead.
10. The method of claim 9 wherein the photosensor does not completely pass over the pattern in the time interval between the first time instant and the second time instant.
11. The method of claim 1 wherein the initial image of the pattern is received at a first time instant from a first photosensor array operatively coupled to the printhead and the subsequent image of the pattern is gathered at a second time instant from a second photosensor also operatively coupled to the printhead, wherein the first photosensor array and second photosensor array are physically separated by a predetermined gap distance and the carriage travels at a known carriage-velocity.
12. The method of claim 10 wherein the difference between the second time instant and the first time instant is proportional to the predetermined gap distance divided by the carriage-velocity.
13. An inkjet printer capable of detecting printhead rotation, comprising:
a carriage guided by at least one carriage guidebar carrying at least one printhead and advanced by a carriage drive motor;
at least one photosensor coupled to the carriage that receives an initial image of a pattern taken from a medium as the printhead passes over a medium and a subsequent image of the pattern taken from the medium as the printhead continues to pass over the medium; and
a printer controller configured to compare the initial image of the pattern and the subsequent image of the pattern taken from the medium and identify a rotation of the printhead in the inkjet printer passing over the medium if the comparison indicates the initial image of the pattern is rotated relative to the subsequent image of the pattern.
14. The inkjet printer of claim 13 wherein the printer controller is further configured to modify the timing settings associated with the firing of the nozzles in the ink-jet printhead to compensate for the rotation of the printhead.
15. The inkjet printer of claim 13 wherein the printer controller is further configured to redirect data being printed to different nozzles to effectively compensate for printhead rotation.
16. The inkjet printer of claim 14 wherein the printer controller is further configured to print on the medium using the modified timing settings for the inkjets in the printhead.
17. The inkjet printer of claim 13 wherein the printer controller detects the printhead rotation at one or more time intervals as the printhead passes over the medium.
18. The inkjet printer of claim 13 wherein the printhead rotation occurs around a z-axis substantially perpendicular to a carriage direction.
19. The inkjet printer of claim 13 wherein the medium is selected from a set of mediums including: a rolled medium, a cut-sheet medium, a paper medium, a transparent medium, a plastic medium, a textile medium, a cloth medium, and a metallic medium.
20. The inkjet printer of claim 13 wherein the inkjet printhead is selected from a set including: thermal inkjet and piezoelectric ink-jet.
21. The inkjet printer of claim 13 wherein the at least one photosensor coupled to the carriage is limited to a single photosensor that receives an initial image of the pattern on the media at a first time instant and then receives a subsequent image of the pattern gathered at a second time instant.
22. The inkjet printer of claim 13 wherein the at least one photosensor coupled to the carriage is limited to a first photosensor array operatively coupled to the printhead that receives a pattern at a first time instant and a second photosensor also operatively coupled to the printhead that gathers the subsequent image of the pattern at a second time instant from, wherein the first photosensor array and second photosensor array are physically separated by a predetermined gap distance and the carriage travels at a known carriage-velocity.
23. The inkjet printer of claim 13 operatively coupled over a network and available for printing by one or more computer systems.
24. A computer program product for detecting printhead rotation in an ink-jet printer, tangibly stored on a computer-readable medium, comprising instructions operable to cause a programmable processor to:
receive an initial image of a pattern taken from a medium as the printhead passes over a medium;
receive a subsequent image of the pattern taken from the medium as the printhead continues to pass over the medium;
compare the initial image of the pattern and the subsequent image of the pattern taken from the medium; and
identify a rotation of the printhead in the inkjet printer passing over the medium if the comparison indicates the initial image of the pattern is rotated relative to the subsequent image of the pattern.
25. The computer program product of claim 23 further comprising instructions operable to cause a programmable processor to:
modify the timing settings associated with the firing of the nozzles in the ink-jet printhead to compensate for the rotation of the printhead.
26. The computer program product of claim 23 further comprising instructions operable to cause a programmable processor to:
redirect data being printed to different nozzles to effectively compensating for printhead rotation.
27. The computer program product of claim 23 wherein the medium is selected from a set of mediums including: a rolled medium, a cut-sheet medium, a paper medium, a transparent medium, a plastic medium, a textile medium, a cloth medium, and a metallic medium.
28. The computer program product of claim 23 wherein the inkjet printhead is selected from a set including: thermal inkjet and piezoelectric ink-jet.
29. An apparatus for detecting printhead rotation in an inkjet printer, comprising:
means for receiving an initial image of a pattern taken from a medium as the printhead passes over a medium;
means for receiving a subsequent image of the pattern taken from the medium as the printhead continues to pass over the medium;
means for comparing the initial image of the pattern and the subsequent image of the pattern taken from the medium; and
identifying a rotation of the printhead in the inkjet printer passing over the medium if the comparison indicates the initial image of the pattern is rotated relative to the subsequent image of the pattern.
30. The apparatus of claim 28 further comprising:
means for modifying the timing settings associated with the firing of the nozzles in the inkjet printhead to compensate for the rotation of the printhead.
31. The apparatus of claim 28 further comprising:
means for redirecting data being printed to different nozzles to effectively compensate for printhead rotation.

1460726072-9046d7c3-f2fd-46d8-be28-5588798ee78d

1. A method comprising:
receiving an update at a domain name system (DNS) server from a first client device, the update including a host name;
determining whether the DNS server hosts an authoritative zone for the update;
determining whether there is already a record for the host name; and if so,
determining an Internet Protocol (IP) address associated with the host name;
determining whether the IP address associated with the host name matches a source IP address of the first client device; and
accepting the update if the IP addresses match.
2. The method of claim 1, further comprising accepting the update if there is no record for the host name.
3. The method of claim 1, further comprising sending a DNS query to a second client device having the IP address associated with the host name if the IP address associated with the host name does not match the source IP address of the first client device.
4. The method of claim 3, further comprising rejecting the update if an acknowledgement is received from the second client device in response to the DNS query.
5. The method of claim 3, further comprising accepting the update if no acknowledgement is received from the second client device in response to the DNS query.
6. The method of claim 1, further comprising replicating the update to another DNS server.
7. The method of claim 1, wherein determining whether there is already a record for the host name comprises checking multiple records of multiple types.
8. The method of claim 7, wherein one of the record types is an Address (A) record.
9. The method of claim 7, wherein one of the record types is an IPv6 address record.
10. The method of claim 7, wherein one of the record types is a Canonical Name (CNAME) record.
11. The method of claim 1, wherein the zone is file-backed.
12. The method of claim 1, wherein the zone is integrated with a directory system.
13. One or more device-readable media with device-executable instructions for performing steps comprising:
receiving an update from a first client device at a domain name system (DNS) server that hosts an authoritative zone for the update, the update including a host name;
checking one or more records in the zone to determine whether there is already a record for the host name, and if so,
checking the record for the host name to determine an Internet Protocol (IP) address associated with the host name;
determining whether the IP address associated with the host name matches a source IP address of the first client device, and if not,
sending a DNS query to a second client device having the IP address associated with the host name; and
determining whether to accept the update based on whether the second client device responds to the DNS query.
14. The one or more device-readable media of claim 13, wherein the steps further comprise accepting the update if there is no record for the host name.
15. The one or more device-readable media of claim 13, wherein the steps further comprise accepting the update if the IP address associated with the host name matches the source IP address of the first client device.
16. The one or more device-readable media of claim 13, wherein determining whether to accept the update based on whether the second client device responds to the DNS query comprises rejecting the update if the second client device responds to the DNS query and accepting the update if the second client device does not respond to the DNS query.
17. A method comprising:
receiving an update from a first client device at a domain name system (DNS) server, the update including a host name;
determining whether there is already a record for the host name; and if so,
determining a source IP address of a registrant of the host name;
determining whether the source IP address of the registrant of the host name matches the first client device’s source IP address, and if not,
sending a DNS query to the registrant of the host name; and
rejecting the update if an acknowledgement is received from the registrant in response to the DNS query.
18. The method of claim 17, further comprising accepting the update if there is no record for the host name.
19. The method of claim 17, further comprising accepting the update if the source IP address of the registrant of the host name matches the first client device’s source IP address.
20. The method of claim 17, further comprising accepting the update if no response is received from the registrant in response to the DNS query.

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 magnetic resonance (MR) system comprising:
a driving module configured to apply a perturbation to a sample;
a processor configured to generate RF modulated pulses, the RF modulated pulses configured to define a plurality of at least three different rotating frames of reference relative to the perturbation, the plurality of at least three different rotating frames of reference including at least two frames in which each frame of the at least two frames includes a fictitious field and wherein at least one fictitious field is time variant, the fictitious fields are produced by an interaction of the plurality of the at least three different rotating frames of reference, and each different rotating frame is associated with an effective field, wherein the fictitious fields and the effective fields are associated with the generated modulated pulses and the modulated pulses are produced by a recursive expansion; and
a readout module coupled to the processor and configured to generate an output based on a relaxation of spins of the sample as a function of the perturbation in order to display or store a magnetic resonance output with the readout module.
2. The system of claim 1 wherein the processor is configured to generate a frequency swept pulse, wherein the frequency swept pulse corresponds to a modulated pulse of the generated modulated pulses.
3. The system of claim 1 wherein the driving module is configured to deliver a frequency swept pulse, wherein the frequency swept pulse corresponds to a modulated pulse of the generated modulated pulses.
4. The system of claim 1 wherein the driving module is configured to apply a pulse train, wherein the pulse train corresponds to the generated modulated pulses.
5. The system of claim 1 wherein the processor is configured to instantaneously flip a magnetization of the fictitious field.
6. The system of claim 1 further including at least one of a display or a printer that is coupled to the readout module, wherein the display or the printer is configured to render a visible image corresponding to the output from the readout module.
7. The system of claim 1 wherein at least one rotating frame of reference of the spin system includes modulation of amplitude or frequency based on a tangent function.
8. A magnetic resonance method comprising:
applying a perturbation to a system;
generating RF modulated pulses, the RF modulated pulses configured to define a plurality of at least three different rotating frames relative to the perturbation, the plurality of at least three different rotating frames including at least two frames in which each frame of the at least two frames includes fictitious field and wherein at least one fictitious field is time dependent, the fictitious fields produced by interaction of the plurality of at least three different rotating frames, and wherein each different rotating frame is associated with an effective field and wherein the fictitious fields and the effective fields are associated with the modulated pulses and the modulated pulses are produced by a recursive expansion; and
applying a readout module to the system after applying the perturbation in order to display or store a magnetic resonance output with the readout module.
9. The method of claim 8 wherein applying the perturbation to the system includes applying a magnetic perturbation to a spin system using a magnetic resonance system.
10. The method of claim 8 wherein at least one fictitious field remains constant in the at least one rotating frame of the at least three different rotating frames.
11. The method of claim 8 further including decreasing a relaxation of the spin system in a selected rotating frame of the plurality of at least three different rotating frames.
12. The method of claim 8 further including generating a rotating frame rotary echo in the spin system using a magnetic resonance system.
13. The method of claim 8 further including locking a magnetization of the system to a fictitious field of a selected rotating frame of the at least three different rotating frames.
14. The method of claim 8 further wherein at least one fictitious field is non-stationary.
15. The method of claim 8 wherein applying the perturbation to the system includes applying a frequency swept pulse.
16. The method of claim 8 wherein at least one fictitious field of the system remains constant in amplitude.
17. The method of claim 8 wherein at least two of the fictitious fields of the system are time dependent.
18. The method of claim 8 wherein at least one fictitious field of the system remains constant in a direction.
19. A non-transitory processor-implemented method which, when executed, causes a magnetic resonance system to generate a magnetic resonance image, the method comprising:
selecting a rank for a fictitious frame of reference that images a region of interest in a spin system, wherein the selected rank corresponds to at least three different fictitious frames of reference;
generating a sequence of modulated pulses that excites the spin system with the sequence of modulated pulses having a sweeping frequency and both a modulated amplitude and phase in which the effective field varies with time in the fictitious frame, wherein the effective field is associated with the sequence of modulated pulses and wherein the sequence of modulated pulses are produced by a recursive expansion;
acquiring magnetic resonance data corresponding to the spin system, the data corresponding to relaxation of spins in the region of interest based on excitation from the sequence of modulated pulses; and
generating an MR image with a processor based on the acquired data.
20. The method of claim 19 wherein the sequence of modulated pulses includes at least one pulse that is sub-adiabatic.
21. The method of claim 19 wherein the rank is greater than 2.
22. A magnetic resonance (MR) system comprising:
a driving module configured to apply a perturbation to a sample;
a processor configured to generate modulated pulses to define at least n different rotating frames of reference where n is an integer of at least three, the rotating frames of reference including at least n\u22121 frames in which each of the n\u22121 frames includes a fictitious field and wherein at least one fictitious field is time variant, the fictitious fields produced by interaction of the plurality of at least n different rotating frames of reference, and wherein each different rotating frame of reference is associated with an effective field and wherein the fictitious fields and the effective fields are associated with the modulated pulses and the modulated pulses are produced by a recursive expansion; and
a readout module coupled to the processor and configured to generate an output based on relaxation of spins of the sample as a function of the perturbation that is displayed or stored by the MR system.