1. A proximity sensor for determining two-dimensional coordinates of a proximal object, comprising:
a housing;
a plurality of light pulse emitters mounted in said housing for projecting light out of said housing along a detection plane;
a plurality of primary light detectors mounted in said housing for detecting reflections of the light projected by said emitters, by a reflective object in the detection plane;
a plurality of primary lenses mounted and oriented in said housing relative to said emitters and said primary detectors in such a manner that for each emitter-detector pair, light emitted by the emitter of that pair passes through one of the primary lenses and is reflected by the object back through one of the primary lenses to the detector of that pair when the object is located at a two-dimensional position, from among a primary set of positions in the detection plane, that position being associated with that emitter-detector pair; and
a processor connected to said emitters and to said primary detectors, for synchronously co-activating emitter-detector pairs, and configured to calculate a two-dimensional location of the object in the detection plane by:
determining an emitter-detector pair among the co-activated emitter-detector pairs, for which the detector detects a maximum amount of light, and identifying the position associated therewith,
determining additional positions that are associated with co-activated emitter-detector pairs and that neighbor the thus-identified position, and
calculating a weighted average of the thus-identified position and the thus-determined additional positions, wherein each position’s weight in the average corresponds to a degree of detection of the reflected light beam for the emitter-detector pair to which that position is associated.
2. The proximity sensor of claim 1, wherein said processor is configured to calculate the location of the object in the detection plane using the Hough transform by:
providing a plurality of candidate ellipses within the detection plane,
determining co-activated emitter-detector pairs for which the detector generates a detection signal, and identifying the positions associated therewith,
interpolating the detection signals for any two of the co-activated emitter-detector pairs whose two associated positions are neighbors, to determine an intermediate location between those two associated positions,
assigning an orientation to each intermediate location, the orientation being perpendicular to the line connecting the two neighboring associated positions,
for each candidate ellipse:
assigning a match value to the candidate ellipsis, the match value representing a degree of match between an edge of the candidate ellipsis and the location and orientation of an intermediate location, and
calculating a sum of the thus-assigned match values, and
designating that candidate ellipse with the maximum thus-calculated sum as being the location of the object in the detection plane.
3. The proximity sensor of claim 1, wherein said processor further infers that the object is moving in a direction parallel to an optical axis of one of said primary lenses when the emitter of the thus-determined emitter-detector pair continues to be the same emitter over a time series of object location calculations, and the amount of light detected by the detector of that pair has the same ratio to the amount of light detected by the detector of a co-activated pair, with which one of the additional positions is associated, over the time series of calculations.
4. The proximity sensor of claim 1, wherein said lenses are oriented so that for each emitter-detector pair, when the object is located at the associated position in the detection plane, the light emitted by the emitter of the pair is reflected by the object back to the detector at an angle \u03b8 or \u2212\u03b8 with respect to an optical axis of one of said primary lenses, and wherein said processor further infers that the object is moving in a direction parallel to that angle \u03b8 or \u2212\u03b8 with respect to the optical axis when the detector of the thus-determined emitter-detector pair continues to be the same detector over a time series of object location calculations, and the amount of light detected by the detector of that pair has the same ratio to the amount of light detected by the detector of a co-activated pair, with which one of the additional positions is associated, over the time series of calculations.
5. The proximity sensor of claim 1, wherein the co-activated emitter-detector pairs include:
at least one emitter-detector pair for which the emitter is the same emitter as in the thus-determined emitter-detector pair, and
at least one emitter-detector pair for which the detector is the same detector as in the thus-determined emitter-detector pair.
6. The proximity sensor of claim 1, further comprising a plurality of secondary light detectors mounted in said housing for detecting reflections of the projected light by a reflective object in the detection plane, such that for each emitter-detector pair of an emitter with a secondary detector, light emitted by the emitter of the pair passes through one of said primary lenses and is reflected by the object back through one of said primary lenses to the detector of the pair when the object is located at a two-dimensional position, from among a secondary set of positions in the detection plane, the secondary set of positions being different than the primary set of positions.
7. The proximity sensor of claim 6 wherein neighboring ones of the secondary set of positions are closer together than neighboring ones of the primary set of positions.
8. The proximity sensor of claim 1, further comprising:
a plurality of secondary light detectors mounted in said housing for detecting reflections of the projected light by a reflective object in the detection plane; and
a plurality of secondary lenses mounted and oriented in said housing relative to said emitters and said secondary detectors in such a manner that for each emitter-detector pair of an emitter with a secondary detector, light emitted by the emitter of that pair passes through one of said primary lenses and is reflected by the object through one of the secondary lenses back to the detector of that pair when the object is located at a two-dimensional position, from among a secondary set of positions in the detection plane, the secondary set of positions being different than the primary set of positions.
9. The proximity sensor of claim 8 wherein neighboring ones of the secondary set of positions are closer together than neighboring ones of the primary set of positions.
10. The proximity sensor of claim 1, wherein the detection plane passes over a reflective surface, and wherein said primary lenses direct the light beams projected by said emitters at an upward angle relative to said reflective surface, to minimize reflections of the projected light by the surface.
11. The proximity sensor of claim 1, wherein said emitters and primary detectors comprise diodes that are mounted in said housing without individual plastic casing lenses and without individual substrates.
12. A plurality of proximity sensors for determining three-dimensional coordinates of a proximal object, comprising a plurality of the proximity sensors of claim 1 directed toward respective, intersecting detection planes.
13. The plurality of proximity sensors of claim 12, wherein each proximity sensor is aimed in a direction substantially perpendicular to the direction in which another of the proximity sensors is aimed.
14. A handheld electronic game device, comprising:
a housing;
a communicator mounted in said housing for communicating with an internet game server;
a display mounted in said housing for rendering a portion of a game user interface (UI) received by said communicator from the game server; and
sensors mounted in said housing and connected to said communicator for detecting a second game device placed nearby, wherein said communicator communicates detection information, regarding a nearby second game device, provided by said sensors to the game server.
15. The handheld electronic game device of claim 14 wherein said sensors are proximity sensors.
16. The handheld electronic game device of claim 15 wherein said proximity sensors are operable to detect a user input gesture comprising moving of an object alongside the game device, and wherein said communicator communicates gesture information provided by said sensors to the game server.
17. The handheld electronic game device of claim 15 wherein said proximity sensors are operable to determine a two-dimensional location of an object detected alongside the game device, and wherein said communicator communicates the object location information provided by said sensors to the game server.
18. The handheld electronic game device of claim 14 wherein the game server determines which portion of the game UI to send to the game device based on the detection information communicated by said communicator.
19. The handheld electronic game device of claim 14, wherein said sensors comprise light detectors mounted on said housing that detect light emitted by light emitters mounted on the second game device.
20. The handheld electronic game device of claim 19, wherein light emitters on the second game device are activated in a specific pattern indicating that the second device is a game device.
21. The handheld electronic game device of claim 20, wherein at least one light emitter on the second game device is activated in a pattern indicating its relative location within the second game device.
22. An internet gaming system comprising:
an internet game server; and
a number, greater than one, of game devices, each of which is a handheld electronic game device in communication with said game server, each game device comprising:
a housing;
a communicator for communicating with said game server;
a display mounted in said housing for rendering a respective portion of a game user interface (UI) received by said communicator from said game server; and
sensors mounted in said housing and connected to said communicator for detecting presence of a neighboring game device, wherein said game server determines the size of each respective portion of the game UI based on the number of said game devices.
23. The internet gaming system of claim 22, wherein said game server further determines the dimensions of each respective portion of the game UI based on the number of said game devices, and based on the detection information communicated by each communicator.
24. The internet gaming system of claim 22, wherein said game server sends respective portions of the game UI to each game device based on the detection information, regarding presence of neighboring game devices, communicated by that game device’s communicator.
25. The internet gaming system of claim 24, wherein said game server rotates at least one of the respective portions of the game UI prior to sending them, based on the detection information, regarding presence of neighboring game devices, communicated by each communicator.
26. The internet gaming system of claim 22, wherein said sensors of each game device comprise proximity sensors that are operable to detect a user input gesture comprising moving of an object alongside that game device, wherein said communicator communicates gesture information provided by said proximity sensors to said game server, and wherein said game server maps the gesture information communicated by each game device’s communicator to the portion of the game UI rendered on that game device’s display.
27. The internet gaming system of claim 22, wherein said sensors of each game device comprise proximity sensors that are operable to detect a user input gesture comprising moving of an object alongside that game device, wherein said communicator communicates gesture information provided by said proximity sensors to said game server, and wherein said game server interprets the gesture information communicated from two game devices’ communicators as being one continuous gesture, based on the respective portions of the game UI rendered on those two game devices’ displays.
28. The internet gaming system of claim 22, wherein the number of said game devices is greater than two, and wherein said sensors of each game device are operable to detect neighboring game devices along two sides of that game device.
29. The internet gaming system of claim 22, wherein said sensors of each game device comprise light detectors mounted on that game device’s housing that detect a specific light pattern emitted from light emitters mounted on a neighboring game device’s housing.
30. The internet gaming system of claim 29, wherein the specific light pattern indicates relative locations of the light emitters in the neighboring game device’s housing.
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 information processing apparatus comprising:
a memory configured to store a received offload data transfer instruction; and
one or more processors configured to perform a procedure including:
generating transfer source information regarding a transfer source area in accordance with the offload data transfer instruction,
setting, when a release instruction to release an area overlapping the transfer source area is received, the area to a reserved state so as to reserve release of the area, after issuing a completion response for the release instruction,
determining a pending state in which data transfer using the transfer source information is pending, and
releasing the area in the reserved state, when the pending state is cancelled.
2. The information processing apparatus according to claim 1, wherein the procedure further includes cancelling the pending state, when updating information in the area in the reserved state.
3. The information processing apparatus according to claim 2, wherein the procedure further includes cancelling the pending state, when a Write IO is issued for the area in the reserved state.
4. The information processing apparatus according to claim 1, wherein the procedure further includes cancelling the pending state, when the transfer source information becomes invalid.
5. The information processing apparatus according to claim 4, wherein the procedure further includes invalidating the transfer source information, when a validity period set for the transfer source information ends.
6. The information processing apparatus according to claim 1, wherein the procedure further includes transferring data stored in the transfer source area, in accordance with a transfer instruction based on the transfer source information, when the release instruction is received after generation of the transfer source information.
7. The information processing apparatus according to claim 6, wherein the procedure further includes transferring clear data in accordance with a transfer instruction based on the transfer source information, when the release instruction is received before generation of the transfer source information.
8. The information processing apparatus according to claim 7, wherein the procedure further includes holding sequential relationship information in the memory, the sequential relationship information indicating a sequential relationship between the release instruction and generation of the transfer source information.
9. The information processing apparatus according to claim 8, wherein the procedure further includes holding sequential relationship information for each transfer source volume that includes the transfer source area.
10. The information processing apparatus according to claim 1, wherein the procedure further includes creating, when part or all of data in the transfer source area is updated, a saving reserved state so as to reserve saving of the data to a saving area, and when a predetermined condition is satisfied, cancelling the reserved state and releasing the area and, at the same time, cancelling the saving reserved state without saving the data to the saving area.
11. A non-transitory computer-readable storage medium storing a computer program, the computer program causing a computer to perform a procedure comprising:
generating transfer source information regarding a transfer source area, upon reception of an offload data transfer instruction;
setting, when a release instruction to release an area overlapping the transfer source area is received, the area to a reserved state so as to reserve release of the area, after issuing a completion response for the release instruction;
determining a pending state in which data transfer using the transfer source information is pending; and
releasing the area in the reserved state, when the pending state is cancelled.
12. An area release control method comprising:
generating, by a processor, transfer source information regarding a transfer source area, upon reception of an offload data transfer instruction;
setting, by the processor, when a release instruction to release an area overlapping the transfer source area is received, the area to a reserved state so as to reserve release of the area, after issuing a completion response for the release instruction;
determining, by the processor, a pending state in which data transfer using the transfer source information is pending; and
releasing, by the processor, the area in the reserved state, when the pending state is cancelled.