1460887318-adfe04c0-6fd7-4c20-adc9-efd80630ac26

1. A method of fabricating epitaxial structures, the method comprising:
growing a first etch stop on a first side of a substrate;
growing at least one epitaxial layer on the first side of the substrate;
flipping the substrate;
growing a second etch stop on a second side of the substrate;
growing at least one epitaxial layer on the second side of the substrate;
applying a carrier medium to the first and second sides of the substrate;
dividing the substrate into two parts generally along an epitaxial plane to create a first epitaxial structure and a second epitaxial structure;
removing residual substrate from the first and second epitaxial structures; and
removing the first and second etch stops.
2. The method of claim 1, wherein the first and second epitaxial structures comprise solar cells.
3. The method of claim 2, wherein the solar cells comprise inverted metamorphic structures.
4. The method of claim 2, wherein the solar cells comprise inverted triple junction tandem solar cells.
5. The method of claim 4, wherein each solar cell comprises a top layer, a middle layer and a bottom layer, the top layer and the middle layer having matching lattice structures, the middle layer and the bottom layer not having matching lattice structures.
6. The method of claim 5, wherein the bottom layer comprises InGaAs, the middle layer comprises GaAs, and the top layer comprises InGaP.
7. The method of claim 5, wherein the bottom layer has a bandgap of approximately 1 eV, the middle layer has a bandgap of approximately 1.42 eV, and the top layer has a bandgap of approximately 1.9 eV.
8. The method of claim 1, wherein the carrier medium comprises at least one of silicon, metal, and glass.
9. The method of claim 8, wherein the carrier medium comprises at least one of gold, silver, copper, nickel, titanium, and platinum.
10. The method of claim 1, wherein dividing the substrate into two parts comprises cutting the substrate using a wire saw or a laser.
11. The method of claim 1, wherein each of the first and second epitaxial structures comprises an array of individual cells.
12. The method of claim 11, further comprising separating the array of individual cells of each of the first and second epitaxial structures into the individual cells.

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 apparatus, comprising:
one or more processors; and
memory storing executable instructions that, when executed by the one or more processors, cause the apparatus to:
receive entitled data from a data server, wherein the entitled data is associated with a plurality of data permissions that represent one or more permissions a requesting user must be assigned in order to access at least a portion of the entitled data;
store entitled data and an identifier corresponding to the entitled data;
receive a first data request for the entitled data from a first user;
identify the identifier based on the first data request;
retrieve user permissions corresponding to the first user;
identify a first user permission intersection between the user permissions corresponding to the first user and the data permissions;
retrieve, using the identifier, a first set of the entitled data in accordance with the first user permission intersection;
transmit the first set of the entitled data as a response to the first data request for the entitled data;
receive a second data request for the entitled data from a second user;
identify the identifier based on the second data request;
retrieve user permissions corresponding to the second user;
identify a second user permission intersection between the user permissions corresponding to the second user and the data permissions;
retrieve, using the identifier, a second set of the entitled data in accordance with the second user permission intersection; and
transmit the second set of the entitled data as a response to the second data request for the entitled data.
2. The apparatus of claim 1, wherein the memory further stores executable instructions that, when executed by the one or more processors, cause the apparatus to:
determine whether the entitled data is expired prior to responding to the first data request for the entitled data; and
determine whether the entitled data is expired prior to responding to the second data request for the entitled data.
3. The apparatus of claim 1, wherein the memory further stores executable instructions that, when executed by the one or more processors, cause the apparatus to:
subscribe to an update service that provides notifications to computing device when the entitled data needs to be updated.
4. The apparatus of claim 2, wherein the memory further stores executable instructions that, when executed by the one or more processors, cause the apparatus to:
receive an update to the entitled data prior to expiration of the entitled data.
5. The apparatus of claim 1, wherein the memory further stores executable instructions that, when executed by the one or more processors, cause the apparatus to:
receive a third data request for the entitled data from the first user; and
transmit a third set of the entitled data as a response to the third data request for the entitled data, wherein the third set of the entitled data is different from the first set of the entitled data in accordance with a change in the user permissions corresponding to the first user.
6. The apparatus of claim 1, wherein the identifier is a cache signature and identifying the identifier based on the first data request includes hashing the first data request.
7. The apparatus of claim 1, wherein the memory further stores executable instructions that, when executed by the one or more processors, cause the apparatus to:
receive an update notification that includes an identification of one or more data domains that need to be updated, wherein the entitled data is assigned to at least one of the one or more data domains; and
request an update to the entitled data responsive to the update notification.
8. A method comprising:
receiving, by a computing device, entitled data from a data server, wherein the entitled data is associated with data permissions that represent one or more permissions a requesting user must be assigned in order to access at least a portion of the entitled data;
store the entitled data and an identifier corresponding to the entitled data;
receiving a first data request for the entitled data from a first user;
identifying the identifier based on the first data request;
retrieving user permissions corresponding to the first user;
identifying a first user permission intersection between the user permissions corresponding to the first user and the data permissions;
retrieving, using the identifier, a first set of the entitled data in accordance with the first user permission intersection;
transmitting the first set of the entitled data as a response to the first data request for the entitled data;
receiving a second data request for the entitled data from a second user;
identifying the identifier based on the second data request;
retrieving user permissions corresponding to the second user;
identifying a second user permission intersection between the user permissions corresponding to the second user and the data permissions;
retrieving, using the identifier, a second set of the entitled data in accordance with the second user permission intersection; and
transmitting the second set of the entitled data as a response to the second data request for the entitled data.
9. The method of claim 8, further comprising:
determining whether the entitled data is expired prior to responding to the first data request for the entitled data; and
determine whether the entitled data is expired prior to responding to the second data request for the entitled data.
10. The method of claim 8, wherein the identifier is a cache signature, and identifying the identifier based on the first data request includes hashing the first data request.
11. The method of claim 8, further comprising:
subscribing to service that provides update notifications;
receiving asynchronous update notifications for the entitled data; and
updating the entitled data responsive to the update notification.
12. The method of claim 8, wherein identifying the identifier based on the first data request includes hashing the first data request, resulting in the identifier.
13. The method of claim 8, further comprising:
requesting and receiving the user permissions from a permission server.
14. The method of claim 8, further comprising:
receiving a third data request for the entitled data from the first user;
determining the user permissions corresponding to the first user have changed subsequent to receiving the first data request;
transmitting a third set of the entitled data as a response to the third data request for the entitled data, wherein the third set of the entitled data is different from the first set of the entitled data.
15. The method of claim 8, further comprising:
storing, with the entitled data, an entitlement token corresponding to the data permissions.
16. The method of claim 15, wherein the entitlement token corresponds to the data permissions and is assigned to a grouping of users, wherein each user in the grouping of users is allowed access to data subject to the data permissions.
17. The method of claim 8, further comprising:
receiving a single notification that notifies the computing device of an update to multiple data domains arranged in a hierarchy, wherein the entitled data is assigned to at least one of the multiple data domains.
18. The method of claim 8, further comprising:
receiving an update notification that includes an identification of one or more data domains that need to be updated, wherein the entitled data is assigned to at least one of the one or more data domains; and
requesting an update to the entitled data responsive to the update notification.
19. One or more non-transitory computer-readable media storing executable instructions configured to, when executed, cause an apparatus to:
receive entitled data from a data server, wherein the entitled data is associated with data permissions that represent one or more permissions a requesting user must be assigned in order to access at least a portion of the entitled data;
store entitled data and an identifier corresponding to the entitled data;
receive a first data request for the entitled data from a first user;
identify the identifier based on the first data request;
retrieve user permissions corresponding to the first user;
identify a first user permission intersection between the user permissions corresponding to the first user and the data permissions;
retrieve, using the identifier, a first set of the entitled data in accordance with the first user permission intersection;
transmit the first set of the entitled data as a response to the first data request for the entitled data;
receive a second data request for the entitled data from a second user;
identify the identifier based on the second data request;
retrieve user permissions corresponding to the second user;
identify a second user permission intersection between the user permissions corresponding to the second user and the data permissions;
retrieve, using the identifier, a second set of the entitled data in accordance with the second user permission intersection; and
transmit the second set of the entitled data as a response to the second data request for the entitled data.
20. The one or more non-transitory computer-readable media of claim 19, further storing executable instructions that, when executed, cause the apparatus to:
receive an update notification that includes an identification of one or more data domains that need to be updated, wherein the entitled data is assigned to at least one of the one or more data domains; and
request an update to the entitled data responsive to the update notification.
21. The one or more non-transitory computer-readable media of claim 19, wherein the identifier is a cache signature and identifying the identifier based on the first data request includes hashing the first data request.
22. A method, comprising:
receiving entitled data from a data server, wherein the entitled data is associated with data permissions that represent one or more permissions a requesting user must be assigned in order to access at least a portion of the entitled data;
storing the entitled data and an identifier that corresponds to the entitled data;
receiving a plurality of requests for the entitled data;
processing each of the plurality of requests, wherein each processing results in the identifier; and
responding to each of the plurality of requests with a transmission of a different data set, resulting in the transmission of a plurality of data sets, wherein each of the plurality of data sets is different from other data sets in the plurality of data sets, and each data set being in accordance with an intersection of user permissions and the data permissions.
23. The method of claim 22, further comprising:
receiving an update notification that includes an identification of one or more data domains that need to be updated, wherein the entitled data is assigned to at least one of the one or more data domains; and
requesting an update to the entitled data responsive to the update notification.
24. The method of claim 22, wherein the identifier is a cache signature and processing each of the plurality of requests includes hashing each of the plurality of requests.