1460904521-3ba9c4e7-dfae-4328-8a21-ac3f11d1dd60

1. A method for performing an operation within a federated computing environment, the method comprising:
receiving a register name identifier request for a principal from a first federated entity at a second federated entity within the federated computing environment;
in response to receiving the register name identifier request for the principal, performing an authentication operation at the second federated entity for the principal;
in response to successfully completing the authentication operation, registering or modifying a name identifier from the received register name identifier request at the second federated entity; and
sending a register name identifier response from the second federated entity to the first federated entity.
2. The method of claim 1 wherein the first federated entity is an identity provider and the second federated entity is a service provider.
3. The method of claim 1 wherein the first federated entity is a service provider and the second federated entity is an identity provider.
4. The method of claim 1 further comprising:
linking a first account for the principal at the first federated entity with a second account for the principal at the second federated entity such that information about the first federated entity can be offered to the principal by the second federated entity.
5. The method of claim 1 further comprising:
linking a first account for the principal at the first federated entity with a second account for the principal at the second federated entity such that the first federated entity and the second federated entity can perform a single-sign-on operation on behalf of the principal.
6. The method of claim 1 further comprising:
interacting directly with the principal by the second federated entity in order to perform the authentication operation.
7. The method of claim 1 further comprising:
performing a single-sign-on operation as the authentication operation at the second federated entity based on single-sign-on information that has been received from the first federated entity along with the register name identifier request.
8. The method of claim 1 further comprising:
requesting single-sign-on information by the second federated entity from the first federated entity in order to perform the authentication operation.
9. The method of claim 1 further comprising:
receiving a single-sign-on request at the second federated entity from the first federated entity prior to receiving the register name identifier request for the principal at the second federated entity.
10. An apparatus for performing an operation within a federated computing environment, the apparatus comprising:
means for receiving a register name identifier request for a principal from a first federated entity at a second federated entity within the federated computing environment;
means for performing, in response to receiving the register name identifier request for the principal, an authentication operation at the second federated entity for the principal;
means for registering or modifying, in response to successfully completing the authentication operation, a name identifier from the received register name identifier request at the second federated entity; and
means for sending a register name identifier response from the second federated entity to the first federated entity.
11. The apparatus of claim 10 wherein the first federated entity is an identity provider and the second federated entity is a service provider.
12. The apparatus of claim 10 wherein the first federated entity is a service provider and the second federated entity is an identity provider.
13. The apparatus of claim 10 further comprising:
means for linking a first account for the principal at the first federated entity with a second account for the principal at the second federated entity such that information about the first federated entity can be offered to the principal by the second federated entity.
14. The apparatus of claim 10 further comprising:
means for linking a first account for the principal at the first federated entity with a second account for the principal at the second federated entity such that the first federated entity and the second federated entity can perform a single-sign-on operation on behalf of the principal.
15. The apparatus of claim 10 further comprising:
means for interacting directly with the principal by the second federated entity in order to perform the authentication operation.
16. The apparatus of claim 10 further comprising:
means for performing a single-sign-on operation as the authentication operation at the second federated entity based on single-sign-on information that has been received from the first federated entity along with the register name identifier request.
17. The apparatus of claim 10 further comprising:
means for requesting single-sign-on information by the second federated entity from the first federated-entity in order to perform the authentication operation.
18. The apparatus of claim 10 further comprising:
means for receiving a single-sign-on request at the second federated entity from the first federated entity prior to receiving the register name identifier request for the principal at the second federated entity.
19. A computer program product on a computer readable medium for performing an operation within a federated computing environment, the computer program product comprising:
means for receiving a register name identifier request for a principal from a first federated entity at a second federated entity within the federated computing environment;
means for performing, in response to receiving the register name identifier request for the principal, an authentication operation at the second federated entity for the principal;
means for registering or modifying, in response to successfully completing the authentication operation, a name identifier from the received register name identifier request at the second federated entity; and
means for sending a register name identifier response from the second federated entity to the first federated entity.
20. The computer program product of claim 19 wherein the first federated entity is an identity provider and the second federated entity is a service provider.
21. The computer program product of claim 19 wherein the first federated entity is a service provider and the second federated entity is an identity provider.
22. The computer program product of claim 19 further comprising:
means for linking a first account for the principal at the first federated entity with a second account for the principal at the second federated entity such that information about the first federated entity can be offered to the principal by the second federated entity.
23. The computer program product of claim 19 further comprising:
means for linking a first account for the principal at the first federated entity with a second account for the principal at the second federated entity such that the first federated entity and the second federated entity can perform a single-sign-on operation on behalf of the principal.
24. The computer program product of claim 19 further comprising:
means for interacting directly with the principal by the second federated entity in order to perform the authentication operation.
25. The computer program product of claim 19 further comprising:
means for performing a single-sign-on operation as the authentication operation at the second federated entity based on single-sign-on information that has been received from the first federated entity along with the register name identifier request.
26. The computer program product of claim 19 further comprising:
means for requesting single-sign-on information by the second federated entity from the first federated entity in order to perform the authentication operation.
27. The computer program product of claim 19 further comprising:
means for receiving a single-sign-on request at the second federated entity from the first federated entity prior to receiving the register name identifier request for the principal at the second federated entity.

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-18. (canceled)
19. A method of compressing vertex parameter data in a 3D graphics system, the vertex parameter data comprising data relating to a plurality of vertices, data for each vertex including multiple bytes relating to at least one parameter, the method comprising:
forming a plurality of byte blocks from the data, comprising grouping together, in the 3-D graphics system, bytes with corresponding byte positions and pertaining to respective values of a parameter for different vertices; and
compressing, in the 3-D graphics system, at least one of the byte blocks using a first compression algorithm, the first compression algorithm comprising storing at least one byte in the at least one byte block as a byte origin, and storing each of the remaining bytes in the byte block encoded as a value derived from a difference between the byte origin and that remaining byte.
20. A method according to claim 19, wherein the compressing comprises using two or more different compression algorithms for different byte blocks of the plurality of byte blocks.
21. A method according to claim 19, wherein the vertex parameter data for each parameter of a vertex includes a sign bit, and the method further comprises locating the sign bit at a least significant bit location, prior to the dividing.
22. A method according to claim 19, further comprising choosing a byte with the lowest value in the byte block as the byte origin.
23. A method according to claim 19, wherein compressing comprises: storing a plurality of bytes in the byte block as byte origins, and storing each of the remaining bytes in the byte block as a respective difference value from one of the byte origins.
24. A method according to claim 23, wherein the compressing comprises storing a minimum number of bytes from a byte block as separate byte origins to allow each of the difference values to be less than a predetermined value.
25. A method according to claim 23, wherein compressing further comprises:
a) storing a first byte and a second byte from a byte block as maximum and minimum byte values defining a byte range;
b) checking a value of a subsequent byte in the byte block, and if the value of the subsequent byte is outside the byte range, replacing the maximum or minimum byte value with the value of the subsequent byte to form an update byte range;
c) repeating b) for each subsequent byte in the byte block until the number of bits required to define the byte range exceeds a predetermined number of bits, then
d) splitting the byte range into two byte ranges, each of the two ranges definable no more than the predetermined number of bits;
e) checking the value of each subsequent byte remaining in the byte block, and if the value of any checked subsequent byte is outside all of the byte ranges, replacing the maximum or minimum byte value of one of the ranges with the value of that subsequent byte to form updated maximum and minimum byte values and an updated byte range;
f) repeating e) for each subsequent byte remaining in the byte block until a number of bits required to define a byte range exceeds the predetermined number of bits, and then performing d) until all of the bytes in the byte block are within at least one byte range representable by no more than the predetermined number of bits.
26. A method according to claim 25, wherein the number of byte ranges in a byte block corresponds to a number of byte origins used in the compressing.
27. A method according to claim 25, further comprising merging two byte ranges to form a merged byte range after performing f).
28. A method according to claim 19, further comprising tiling geometry defined by the vertices in a tile-based 3-D computer graphics system.
29. A method according to claim 19, further comprising merging the byte blocks following the compressing to form a compressed data block.
30. An apparatus for compressing vertex parameter data, the vertex parameter data comprising a byte stream for a plurality of vertices, the data block including multiple bytes for at least one parameter of each of the plurality of vertices, the apparatus configured for performing a method comprising:
dividing the multiple byte data for respective parameter values for the plurality of vertices into individual bytes;
grouping together bytes with corresponding byte positions from the data relating to the plurality of vertices to form a plurality of byte blocks; and
compressing at least one of the byte blocks using a first compression algorithm, the first compression algorithm comprising storing at least one byte in a byte block as a byte origin, and storing each of the remaining bytes in the byte block as a value derived from a difference from the byte origin.
31. A 3-D graphics system configured for performing a method of decompressing vertex parameter data, the decompressed data relating to each vertex comprising multiple bytes of data relating to at least one parameter, the compressed vertex parameter data relating to the parameters comprising a plurality of separate byte blocks, each byte block containing data relating to bytes with corresponding positions in the multiple bytes of data from a plurality of selected vertices, the method comprising:
determining a decompression algorithm for each byte block from data in a header of that byte block;
reading the per-vertex compressed data for the plurality of selected vertices required from the compressed data block;
decompressing the byte block using the decompression algorithm to provide decompressed byte blocks; and
reassembling the vertex parameter data by merging together the bytes from the decompressed byte blocks relating to each vertex.
32. A 3-D graphics system according to claim 31, wherein the compressed vertex parameter data is provided as a stream of bytes, and the stream of bytes is used to produce the.
33. A 3-D graphics system according to claim 31, wherein the determining of the decompression algorithm comprises determining that the decompression algorithm for delta block format data, and identifying in the header, a number of and respective values for byte origins, and the number of bits used to encode delta values for respective bytes and byte origins.
34. A method of encoding vertex parameter data, comprising:
in a 3-D graphics system, determining blocks of bytes of parameter data, the blocks of bytes being formed of bytes in corresponding byte positions for the same parameter and for a plurality of vertices;
providing a set of ranges for each block of bytes in a 3-D graphics system, each set of ranges comprising one or more ranges, the set of ranges determined so that bytes in the block that do not define either a maximum or minimum value of any of the value ranges in the set are representable as a delta value relative to a selected byte origin value, and so that each delta value for each byte in a block is representable with the same number of bits;
producing a header for each block indicating how many byte origin values are used to encode bytes in that block, values of the byte origins, and a number of bits used to represent each delta value; and
storing the header, the byte origins and the delta values as data for the block of bytes.
35. The method of encoding vertex parameter data of claim 34, further comprising determining a respective block of bytes for each of a plurality of parameters, and performing the providing, producing and storing for each block of bytes.