1460915700-d6e15ec4-5611-4016-996d-28de81a4ad5f

1. A system of a website making a Universal Resource Locator (\u201cURL\u201d) with the address of the website and with an identifier of an electronic screen (\u201cKappa\u201d); where the website controls Kappa; the website sending the URL to an audio server; the audio server associating the URL with a bit string (\u201cshortcode\u201d) in a table (\u201cT\u201d); the audio server sending the shortcode to the website; the website sending the shortcode to Kappa; Kappa emitting the shortcode as audio (\u201cchirp\u201d) via a speaker; where a mobile device detects the chirp and extracts the shortcode; where the mobile device queries the audio server with the shortcode; where the audio server returns the URL (\u201cChi\u201d);
where the mobile device makes a browser query with Chi; where the website sends a web page to the mobile device; where the website optionally alters Kappa; where selectable items in the mobile device web page cause the website to alter Kappa.
2. The system of claim 1, where, when the mobile device queries the audio server, the audio server makes a query with Chi to the website; where the audio server writes the return address in the query to be the Internet address of the mobile device.
3. The system of claim 1, where Kappa shows a barcode, in addition to emitting a chirp; where the barcode encodes an URL (\u201cPhi\u201d) referring to the same website as the chirp.
4. The system of claim 3, where the Chi web page has selectable items that cause the website to not show or show a barcode on Kappa; where the Chi web page has selectable items that cause the Kappa speaker to emit or not emit chirps.
5. The system of claim 3, where the Phi web page has selectable items that cause the website to not show or show a barcode on Kappa; where the Phi web page has selectable items that cause the Kappa speaker to emit or not emit future chirps.
6. The system of claim 1, where Kappa has a left speaker and a right speaker; where the left speaker emits a different chirp than the right speaker; where the chirps encode different URLs; where the mobile device makes a browser query with a decoded URL; where the website allocates a left subset of Kappa to the control of the mobile device if the URL corresponds to the chirp from the left speaker; where the website allocates a right subset of Kappa to the control of the mobile device if the URL corresponds to the chirp from the right speaker.
7. The system of claim 1, where the website uploads an expiration date, associated with the URL, to the audio server; where the audio server stores the expiration date with the URL in T; where the audio server periodically checks T for expired entries; where an expired entry is moved to an Expired table; where if the audio server gets from a device a query with a shortcode and there is no entry in T, the audio server checks the Expired table; where if a shortcode is present in the Expired table, the audio server sends the URL to the website, with the return address set to the address of the device.
8. The system of claim 7, where if the website gets an URL after the expiration date, the website does not alter the image on Kappa; where the website sends a web page to the device, indicating that the device cannot control Kappa.
9. The system of claim 1, where the mobile device uploads a blacklist of undesired addresses to the audio server; where when the mobile device uploads a shortcode to the audio server, the audio server obtains the corresponding URL; where if the address in the URL is in the blacklist, the audio server returns an error page to the mobile device.
10. The system of claim 1, where the audio server spiders the website with an URL originally sent to it by the website; where the website detects the request as coming from a known address of the audio server; where the website returns the web page made for the mobile device and the image or page made for Kappa.
11. A system of a mobile device contacting a website; the website making an URL with the address of the website and with an identification of the address of the mobile device; the website sending the URL to an audio server; the audio server associating the URL with a shortcode; the audio server sending the shortcode to the website; the website sending the shortcode and a web page to the mobile device; the mobile device emitting the shortcode as a chirp; an electronic screen having a microphone; the electronic screen decoding the chirp into a shortcode; the electronic screen sending the shortcode to the audio server; the audio server replying with the URL; the electronic screen making a query to the URL; the website sending a web page to the electronic screen; the mobile device web page having items that can alter the electronic screen web page.
12. The system of claim 11, where the audio server gets the shortcode from the electronic screen; where the audio server sends the associated URL in a query to the website;
where the return address is the address of the electronic screen.
13. A system of a shortcode having a structure of a header and a body; where a subset of bits in the header defines an \u201cindex\u201d; where a device detects the shortcode; where the device checks its memory for an association of the index with an URL prefix; where if the prefix exists the device appends the shortcode body to the prefix and makes an URL; where the device makes a query to the URL; where if the prefix does not exist, the device queries a server with the index; where the server returns an URL prefix; where the device stores the association of the index with the prefix; where the device appends the shortcode body to the prefix and makes a query to the resultant URL.
14. The system of claim 13, where the server accepts a query of an Internet domain name or corporate name; where the server replies with a set of zero or more pairs of an index and an URL prefix; where the prefixes contain Internet addresses or domains owned by the organisation.
15. The system of claim 13, where the server accepts a query of a location; where the server replies with a set of zero or more pairs of an index and an URL prefix; where the data is for companies that own the URLs, and which have chirp emitters in a region around the location.
16. The system of claim 15, where the region is a circle, where the query includes a radius of the circle.
17. The system of claim 13, where a different subset of the header defines a \u201chop count\u201d non-negative integer; where a chirp made from the shortcode is detected and decoded by a device; where if the hop count is greater than zero, the device decrements it and makes a new chirp from the altered shortcode, and where the device emits the chirp.
18. A system of a website (\u201cGamma\u201d) making an URL referring to itself; where Gamma sends the URL to an audio server; where the audio server stores an association between a shortcode and the URL; where the audio server returns the shortcode; where Gamma makes a chirp from the shortcode; where Gamma emits the chirp; where a mobile device (\u201cPhi\u201d) records the chirp and extracts the shortcode; where Phi queries the audio server with the shortcode; where the audio server returns the URL;
where Phi makes a query with the URL; where Gamma replies with a web page; where the page shows data from Gamma and selectable items that control Gamma.
19. The system of claim 18, where Phi makes changes to the web page and returns the page to Gamma; where the changes cause a different chirp to be emitted by Gamma.
20. The system of claim 18, where Gamma is a projector phone; where a nearby mobile device records the chirp emitted by Gamma; where the mobile device gets a web page from Gamma; where the mobile device uses the web page to control the contents shown on the projection surface.

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. In processor system having two or more processors including a main memory, a power processor element (PPE) and a synergistic processor element (SPE) that operate on different sized memory access capabilities, a method for atomic operation, the method comprising the steps of:
using the PPE to notify an SPE to perform a compare and swap operation on an address in main memory, wherein a size of the address is less than or equal to a maximum memory transfer size for the SPE and greater than a memory transfer size for the PPE, wherein the maximum memory transfer size for the SPE is larger than the maximum memory transfer size for the PPE;
atomically performing the compare and swap operation with the SPE; and with the SPE, notifying the PPE of the success or failure of the compare and swap operation,
wherein the compare and swap operation includes:
performing a read-with-reservation of a stored value in the address with the SPE,
performing a comparison with the SPE, wherein the comparison involves the stored value and one or more reference parameters,
if the comparison is successful, performing a conditional write of a swap value to the address with the SPE.
2. The method of claim 1 wherein performing with the SPE a comparison of the involving the stored value and one or more reference values includes performing a logical operation with the SPE, the logical operation involving the stored value and the one or more reference parameters, wherein the logical operation returns a value of true or false.
3. The method of claim 2 wherein the compare and swap operation is successful if the logical operation returns a value of true and the conditional write of the swap value is successful.
4. The method of claim 2 wherein the compare and swap operation is successful if the logical operation returns a value of false and the conditional write of the swap value is successful.
5. The method of claim 2 wherein the one or more reference parameters include a single reference value and the logical operation returns a true or false value based on a comparison of the stored value to the single reference value.
6. The method of claim 2 wherein the one or more reference parameters include a single reference value and the logical operation is a logical equality operation that returns a true value if the stored value is equal to the single reference value.
7. The method of claim 1, wherein using the PPE to notify an SPE to perform a compare and swap operation on the address in main memory includes passing to the SPE an address, the one or more reference parameters and one or more swap parameters.
8. The method of claim 1 wherein using the PPE to notify an SPE to perform a compare and swap operation on the address in main memory includes passing to the SPE the address, the swap value, and the one or more reference parameters.
9. The method of claim 1 wherein using the PPE to notify an SPE to perform a compare and swap operation on the address in main memory includes passing to the SPE the address and a size of the stored value.
10. The method of claim 1 wherein using the PPE to notify an SPE to perform a compare and swap operation on the address in main memory includes passing to the SPE an address, the one or more reference parameters and one or more swap parameters and wherein compare and swap operation includes calculating the swap value with the one or more swap parameters.
11. The method of claim 1 wherein comparing the stored value to the one or more reference parameters includes determining whether the stored value is equal to a reference value.
12. The method of claim 1, wherein the compare and swap operation further comprises, if the stored value has been overwritten between performing the read with reservation and perfonning the conditional write, performing another read-with-reservation of the stored value, performing another comparison operation involving the stored value and one or more reference values, and notifying the PPE if the comparison fails.
13. The method of claim 1 wherein performing the compare and swap operation includes the step of calculating the swap value.
14. The method of claim 1 wherein performing the compare and swap operation includes the step of calculating a reference value using the one or more swap parameters.
15. The method of claim 1 wherein the swap value is the result of a function of the stored value.
16. The method of claim 1 wherein the swap value is the result of a function of the stored value and one or more parameters provided by the PPE.
17. The method of claim 1 wherein the swap value is equal to the sum of the stored value and an incremental value.
18. The method of claim 1, further comprising the step of dedicating an SPE to be notified by the PPE to perform the compare and swap operation.
19. The method of claim 1, further comprising the step of dedicating an SPE to be notified by the PPE to perform the compare and swap operation, wherein atomically performing the compare and swap operation is done by the dedicated SPE
20. A cell processor, comprising:
a data bus
a main memory coupled to the data bus, the main memory containing one or more task definitions;
a power processor element (PPE) coupled to the data bus;
one or more synergistic processing elements (SPE) coupled to the data bus, wherein each SPE has a synergistic processor unit (SPU) and a local store, wherein the PPE and SPE have different size memory transfer capabilities, wherein the a maximum SPE memory transfer size is larger than a maximum PPE memory transfer size;
a first set of processor readable instructions embodied in main memory or in one or more registers of the PPE, the first set of processor readable instructions including an instruction notify an SPE to perform a compare and swap operation on an address in the main memory, wherein a size of the address is less than or equal to maximum SPE memory transfer size and greater than the maximum PPE memory transfer size;
a second set of processor readable instructions embodied in the main memory or in one or more registers of a local store of one or more SPE, the second set of processor readable instructions including an-instruction to perform the compare and swap operation on the address, and an instruction to notify the PPE of the success or failure of the compare and swap operation.
21. The cell processor of claim 20 wherein the instruction to perform the compare and swap operation on the address includes:
an instruction to read a stored value in the address with the SPE;
an instruction to perform a comparison with the SPE, wherein the comparison involves the stored value and one or more reference parameters; and
an instruction to notify the PPE if the comparison is not successful.
22. The cell processor of claim 20 wherein the comparison includes a logical operation involving the stored value and the one or more reference parameters, wherein the logical operation returns a value of true or false.
23. The cell processor of claim 22 wherein the compare and swap operation is successful if the logical operation returns a value of true and the conditional write of the swap value is successful.
24. The cell processor of claim 22 wherein the compare and swap operation is successful if the logical operation returns a value of false and the conditional write of the swap value is successful.
25. The cell processor of claim 22 wherein the logical operation is a logical equality operation that returns a true value if the stored value is equal to a single reference value.
26. The cell processor of claim 20 wherein the one or more SPE included a dedicated SPE, wherein the first set of processor readable instructions include an instruction notify the dedicated SPE to perform a compare and swap operation on the address in the main memory.
27. The cell processor of claim 20 wherein the one or more SPE included a dedicated SPE, wherein the first set of processor readable instructions a include an instruction notify the dedicated SPE to perform a compare and swap operation on an address in the main memory, and wherein the dedicated SPE has the second set of instructions embodied in its local store.
28. The cell processor of claim 27 wherein the dedicated SPE is configured to implement other PPE-supplementary functions.
29. The processor of claim 28 wherein the other PPE-supplementary functions include a memcopy function.
30. The cell processor of claim 20 wherein the instruction to perform the compare and swap operation further comprises a conditional instruction set to be executed if the stored value has been overwritten between performing the read with reservation and performing the conditional write, the conditional instruction set including an instruction for the SPE to perform another read-with-reservation of the stored value, and an instruction for the SPE to perform another comparison operation involving the stored value and one or more reference values.
31. The cell processor of claim 20 wherein the compare and swap operation includes the step of calculating the swap value.
32. The cell processor of claim 20 wherein the compare and swap operation includes the step of calculating the reference value.
33. The cell processor of claim 20 wherein the swap value is the result of a function of the stored value.
34. The cell processor of claim 20 wherein the swap value is the result of a function of the stored value and one or more parameters provided by the PPE.
35. The cell processor of claim 20 wherein the swap value is equal to the sum of the stored value and an incremental value.
36. The cell processor of claim 20 wherein the maximum SPE memory transfer size is 128 bytes and the maximum PPE memory transfer size is 8 bytes.