1461166108-d6539af5-d873-44ee-9db9-d3321d125a75

1. A computer-implemented method for managing cryptographic keys in a distributed system, comprising:
under the control of one or more computer systems configured with executable instructions,
storing a first cryptographic key in each of a plurality of security modules;
receiving a request to perform an operation, the performance of which involves an encryption operation using the first cryptographic key specified in the request; and
as a result of receiving the request:
causing a selected security module from the plurality of security modules to perform the encryption operation using the first cryptographic key;
performing a stochastic process to generate a value; and
when the value satisfies a set of key rotation criteria that limit the probability of using the same nonce multiple times with the first cryptographic key, causing each security module of the plurality of security modules to replace the first cryptographic key with a second cryptographic key.
2. The computer-implemented method of claim 1, wherein:
the encryption operation includes stochastic generation of a nonce.
3. The computer-implemented method of claim 1, wherein the value is output of a random or pseudorandom value generator.
4. The computer-implemented method of claim 1, wherein:
the stochastic process comprises:
randomly or pseudorandomly generating an initial value; and
as a result of the generated initial value satisfying a set of counter update conditions, determining the value by updating a counter.
5. The computer-implemented method of claim 1, wherein causing the selected security module to perform the encryption operation using the first cryptographic key includes causing the selected security module to use the value when performing the encryption operation.
6. The computer-implemented method of claim 1, wherein the first cryptographic key is accessible to each security module of the plurality of security modules.
7. A computer-implemented method, comprising:
under the control of one or more computer systems configured with executable instructions,
as a result of a received request to perform an operation, the performance of which involves use of first information:
determining a stochastically generated value;
when the stochastically generated value satisfies a set of rotation criteria that limit the probability of using the same nonce multiple times with the first information, replacing the first information with second information; and
when the stochastically generated value fails to satisfy the set of rotation criteria, allowing the first information to be used to perform the operation at least one additional time in response to another request.
8. The computer-implemented method of claim 7, wherein the first information is a cryptographic key.
9. The computer-implemented method of claim 7, wherein the stochastically generated value is based at least in part on output of a random or pseudorandom number generator.
10. The computer-implemented method of claim 7, wherein the stochastically generated value is a probabilistically updated counter.
11. The computer-implemented method of claim 7, wherein the method further comprises:
receiving the request;
selecting, from a plurality of devices each with access to the first information and capable of performing the operation, a device to perform the operation; and
causing the selected device to perform the operation.
12. The computer-implemented method of claim 7, wherein the method further comprises causing the stochastically generated value to be used to perform the operation.
13. A system, comprising:
a plurality of computing devices that each store first information;
a request processing subsystem comprising a collection of computing resources collectively configured to:
process requests to perform operations involving the first information by at least, for each request of a plurality of the requests, selecting a computing device from the plurality of computing devices to use the first information as part of processing the request; and
generate rotation determinations probabilistically in a manner that limits use of the same nonce with the first information multiple times such that, as a result of a rotation determination indicating rotation, the plurality of computing devices use second information instead of the first information.
14. The system of claim 13, wherein:
the first information is a cryptographic key; and
the operations include cryptographic operations using the cryptographic key.
15. The system of claim 13, wherein probabilistically generating rotation determinations includes determining a random or pseudorandom value and checking whether the rotation determination satisfies one or more conditions.
16. The system of claim 13, wherein probabilistically generating rotation determinations includes probabilistically updating a counter that, when the counter satisfies one or more conditions, results in a rotation determination indicating rotation.
17. The system of claim 13, wherein at least a subset of the rotation determinations are each generated as a result of a corresponding received request to use the first information to perform a corresponding operation.
18. The system of claim 13, wherein:
the requests are web service requests that specify the first information by an identifier for the first information; and
upon replacement of the first information with the second information, the second information is specifiable to the system by the identifier for the first information.
19. A non-transitory computer-readable storage medium having stored thereon instructions that, when executed by one or more processors of a system, cause the system to:
probabilistically generate rotation determinations in a manner that limits use of the same nonce with first information multiple times, each rotation determination indicating whether to replace the first information with second information when processing requests;
when a generated rotation determination is positive, cause the first information used in processing requests to be replaced with the second information; and
when a generated rotation determination is negative, allow the first information to be used for processing additional requests to be processed using the first information.
20. The non-transitory computer-readable storage medium of claim 19, wherein the first information is a first cryptographic key of a plurality cryptographic keys managed by the system.
21. The non-transitory computer-readable storage medium of claim 19, wherein each of at least a subset of the rotation determinations is generated as a result of a received request to perform an operation using the first information.
22. The non-transitory computer-readable storage medium of claim 19, wherein:
the first information is accessible to a plurality of devices of the system; and
causing the first information to be replaced with the second information includes causing the second information to become accessible to each device of the plurality of devices.
23. The non-transitory computer-readable storage medium of claim 19, wherein each rotation determination of at least a subset of the rotation determinations is based at least in part on one or more conditions and a randomly or pseudorandomly generated value.
24. The non-transitory computer-readable storage medium of claim 19, wherein:
probabilistically generating rotation determinations includes probabilistically determining whether to update a counter; and
each rotation determination of at least a subset of the rotation determinations is based at least in part on whether the counter has reached a threshold.
25. The non-transitory computer-readable storage medium of claim 19, wherein each probabilistically generated rotation determination of at least a subset of the probabilistically generated rotation determinations is based at least in part on a determination whether a stochastically generated value is divisible by another value.
26. The non-transitory computer-readable storage medium of claim 19, wherein each probabilistically generated rotation determination of at least a subset of the probabilistically generated rotation determinations is based at least in part on a determination whether a stochastically generated sequence of bits satisfies one or more conditions on the sequence.

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 liquid ejecting apparatus comprising:
a first flow path for supplying liquid;
a second flow path that communicates with the first flow path;
a filter disposed to face communication holes of the first and second flow paths; and
an air bubble locking section comprising a spacer member disposed between the communication hole of the second flow path and the filter that locks an air bubble in the communication hole of the second flow path at a time when the air bubble is discharged from the second flow path through the filter, the spacer member having a height of less than 0.1 mm.
2. The liquid ejecting apparatus according to claim 1, wherein the air bubble locking section is a recessed section, formed in an outer peripheral portion of the communication hole of the second flow path, into which a portion of the air bubble can be made to enter.
3. The liquid ejecting apparatus according to claim 2, wherein the recessed portion is formed as a gap between a face in which the communication hole of the second flow path is formed and the filter.
4. The liquid ejecting apparatus according to claim 3, wherein the spacer member also regulates a length of the gap.
5. The liquid ejecting apparatus according to claim 2, wherein the recessed section is prepared so as to be approximately symmetrical with respect to the center of the communication hole of the second flow path.
6. The liquid ejecting apparatus according to claim 2, wherein the recessed section is prepared so as to be discretely positioned.
7. A liquid ejecting head comprising:
a first flow path for supplying liquid:
a second flow path that communicates with the first flow path;
a filter disposed to face communication holes of the first and second flow paths; and
an air bubble locking section comprising a spacer member disposed between the communication hole of the second flow path and the filter and that locks an air bubble in the communication hole of the second flow path at a time when the air bubble is discharged from the second flow path through the filter, the spacer member having a height of less than 0.1 mm.
8. A liquid ejecting apparatus comprising:
a first flow path for supplying liquid;
a second flow path that communicates with the first flow path;
a filter disposed to face communication holes of the first and second flow paths; and
an air bubble locking section comprising a spacer member disposed between the communication hole of the second flow path and the filter so as to be in contact with the filter and which that locks an air bubble in the communication hole of the second flow path at a time when the air bubble is discharged from the second flow path through the filter.
9. The liquid ejecting apparatus according to claim 8, wherein the air bubble locking section is a recessed section, formed in an outer peripheral portion of the communication hole of the second flow path, into which a portion of the air bubble can be made to enter.
10. The liquid ejecting apparatus according to claim 9, wherein the recessed portion is formed as a gap between a face in which the communication hole of the second flow path is formed and the filter.
11. The liquid ejecting apparatus according to claim 10 wherein the spacer member also regulates a length of the gap.
12. The liquid ejecting apparatus according to claim 9, wherein the recessed section is prepared so as to be approximately symmetrical with respect to the center of the communication hole of the second flow path.
13. The liquid ejecting apparatus according to claim 9, wherein the recessed section is prepared so as to be discretely positioned.
14. The liquid ejecting apparatus according to claim 9, wherein the first flow path, second flow path, filter, and air bubble locking section are disposed in a liquid ejecting head.