1460945019-e55e67fc-eca3-4c1c-b9c6-c07c79b3fc4b

1. A structure for adhering to a contact surface comprising:
an annular curved surface rotatable about an axis of rotation; and
a plurality of nano-fibers disposed on the curved surface, each nano-fiber having a diameter between 50 nanometers and 2.0 microns and a length between 0.5 microns and 20 microns,
wherein the curved surface is configured to rotate from a first position to at least a second position,
wherein when the curved surface is in the first position, at least a first nano-fiber of the plurality of nano-fibers contacts the contact surface and provides an adhesive force at the contact surface, and at least a second nano-fiber of the plurality of nano-fibers is unattached to the contact surface; and
wherein when the curved surface rotates to the second position from the first position, at least the first nano-fiber is leveraged away from the contact surface, and at least the second nano-fiber contacts the contact surface and provides an adhesive force at the contact surface, and
wherein the first and second nano-fibers are oriented at an oblique angle other than 0 degrees and 90 degrees with respect to the annular curved surface when unattached to the contact surface and extend in the circumferential direction of the annular curved surface.
2. The structure of claim 1, wherein the first and the second nano-fibers are each capable of providing an adhesive force with the contact surface of between 0.06 \u03bcN and 0.20 \u03bcN.
3. The structure of claim 1, wherein the first and the second nano-fibers are each at an angle between 15 and 75 degrees relative to the curved surface when unattached to the contact surface.
4. The structure of claim 3, wherein the first and the second nano-fibers are each at an angle between 30 and 60 degrees relative to the curved surface when unattached to the contact surface.
5. The structure of claim 1, wherein the first nano-fiber adheres to the contact surface at the front portion of a contact patch, and the second nano-fiber adheres to the rear portion of the contact patch.
6. The structure of claim 1, wherein the annular curved surface is at least a portion of a wheel.
7. The structure of claim 1, wherein the plurality of nano-fibers extend from the annular curved surface in a single direction relative to the annular curved surface.
8. The structure of claim 1, wherein a first group of said nano-fibers at a first region of the annular curved surface extends from the annular curved surface in a first direction relative to he annular curved surface, and a second group of said nano-fibers disposed on a second region of the annular curved surface extends from the annular curved surface in a second direction relative to the annular curved surface.
9. The structure of claim 1, wherein the annular curved surface includes one or more raised sections, and at least one said nano-fiber has a base and is disposed on the curved surface outside the raised sections such that the base of the at least one nano-fiber does not contact the contact surface during rotation.
10. The structure of claim 9, wherein two said raised sections form a groove therebetween, and the at least one nano-fiber is disposed on the annular curved surface in the groove.
11. The structure of claim 1, wherein the first and the second nano-fibers are each capable of providing an adhesive force with the contact surface of between 0.01 \u03bcN and 0.20 \u03bcN.
12. A tire comprising:
a curved tire surface; and
a plurality of nano-fibers disposed on the curved tire surface, each nano-fiber having a diameter between 50 nanometers and 2.0 microns and a length between 0.5 microns and 20 microns, and each nano-fiber capable of providing an adhesive force at a contact surface, and wherein the plurality of nano-fibers comprise at least a first nano-fiber and at least a second nano-fiber, and wherein each of the first and second nano-fibers are oriented at an oblique angle other than 0 degrees and 90 degrees with respect to the curved surface of the tire and extend in the circumferential direction of the tire, and wherein when the tire is in a first position, at least the first nano-fiber contacts the contact surface and provides an adhesive force at the contact surface and at least the second nano-fiber is unattached to the contact surface, and when the tire rotates to a second position from the first position, at least the first nano-fiber is leveraged away from the contact surface and at least the second nano-fiber contacts the surface and provides an adhesive force at the contact surface.
13. The tire of claim 12, wherein the first and the second nano-fibers are each capable of providing an adhesive force with the contact surface of between 0.06 \u03bcN and 0.20 \u03bcN.
14. The tire of claim 12, wherein the first and the second nano-fibers are each at an angle between 15 and 75 degrees relative to the tire surface.
15. The tire of claim 14, wherein the first and the second nano-fibers are each at an angle between 30 and 60 degrees relative to the tire surface.
16. The tire of claim 12, wherein the first nano-fiber adheres to the contact surface at the front portion of a contact patch, and the second nano-fiber adheres to the rear portion of the contact patch.
17. The tire of claim 12, wherein the tire includes two raised sections, wherein the plurality of nano-fibers is disposed between the two raised sections.
18. The tire of claim 12, wherein the tire includes at least one raised section, and wherein the plurality of nano-fibers is disposed around the base of the raised section.
19. The tire of claim 12, wherein the plurality of nano-fibers extend from the curved surface of the wheel in a single direction relative to the curved surface.
20. The tire of claim 12, wherein a first group of said nano-fibers at a first region of the curved surface extends from the curved surface in a first direction relative to the curved surface, and a second group of said nano-fibers disposed on a second region of the curved surface extends from the curved surface in a second direction relative to the curved surface.
21. The tire of claim 12, wherein the frictional properties of the tire are enhanced by intermolecular forces at each nano-fiber.
22. The tire of claim 21, wherein intermolecular forces are van der Waal’s interactions.
23. The tire of claim 12, wherein the first and the second nano-fibers are each capable of providing an adhesive force with the contact surface of between 0.01 \u03bcN and 0.20 \u03bcN.
24. A method of moving a curved surface over a contact surface comprising:
providing one or more nano-fibers disposed on the curved surface, each nano-fiber having a diameter between 50 nanometers and 2.0 microns and a length between 0.5 microns and 20 microns, and each nano-fiber capable of providing an adhesive force at the contact surface, wherein the curved surface is an annular curved surface rotatable about an axis of rotation; and
rotating the curved surface along the contact surface to cause at least one nano-fiber to adhere to the contact surface,
wherein the curved surface is configured to rotate from a first position to at least a second position,
wherein when the curved surface is in the first position, a first nano-fiber contacts the contact surface and provides an adhesive force at the contact surface, and a second nano-fiber is unattached to the contact surface, and
wherein when the curved surface rotates to the second position from the first position, the first nano-fiber is leveraged away from the contact surface, and the second nano-fiber contacts the contact surface and provides an adhesive force at the contact surface, and
wherein the first and second nano-fibers are oriented at an oblique angle other than 0 degrees and 90 degrees with respect to the annular curved surface when unattached to the contact surface and extend in the circumferential direction of the annular curved surface.
25. The method of claim 24, wherein the first and second nano-fibers each engages the contact surface first in the direction normal to the contact surface and second in the lateral direction along the contact surface.
26. The method of claim 24, wherein the first and the second nano-fibers are each capable of providing an adhesive force with the contact surface of between 0.06 \u03bcN and 0.20 \u03bcN.
27. The method of claim 24, wherein the first and second nano-fibers are each at each at an angle between 15 and 75 degrees relative to the curved surface.
28. The method of claim 24, wherein the first and second nano-fibers are each at an angle between 30 and 60 degrees relative to the curved surface.
29. The method of claim 24, wherein the first nano-fiber adheres to the contact surface at the front portion of the contact patch, and the second nano-fiber adheres to the rear portion of the contact patch.
30. The method of claim 24, wherein the plurality of nano-fibers extend from the curved surface in a single direction relative to the curved surface.
31. The method of claim 24, wherein a first group of said nano-fibers at a first region of the curved surface extends from the curved surface in a first direction relative to the curved surface, and a second group of said nano-fibers disposed on a second region of the curved surface extends from the curved surface in a second direction relative to the curved surface.
32. The method of claim 24, wherein the curved surface includes one or more raised sections, and wherein the one or more nano fibers comprise a base, and at least one said nano-fiber is disposed on the curved surface outside the raised sections such that the base of the at least one nano-fiber does not contact the contact surface during rotation.
33. The method of claim 32, wherein two said raised sections form a groove therebetween, and the at least one nano-fiber is disposed on the curved surface in the groove.
34. The method of claim 24, wherein the first and the second nano-fibers are each capable of providing an adhesive force with the contact surface of between 0.01 \u03bcN and 0.20 \u03bcN.
35. A method of making a structure for adhering to a contact surface comprising:
forming a curved surface, wherein the curved surface is configured to rotate from a first position to at least a second position, wherein the curved surface is an annular curved surface rotatable about an axis of rotation;
forming a plurality of nano-fibers having a diameter between 50 nanometers and 2.0 microns and a length between 0.5 microns and 20 microns on said surface, wherein the first and second nano-fibers are oriented at an oblique angle other than 0 degrees and 90 degrees with respect to the annular curved surface and extend in the circumferential direction the annular curved surface; and
placing the plurality of nano-fibers on the curved surface,
wherein when the curved surface is in the first position, a first nano-fiber of the plurality of nano-fibers contacts the contact surface and provides an adhesive force at the contact surface, and a second nano-fiber of the plurality of nano-fibers is unattached to the contact surface, and
wherein when the curved surface rotates to the second position from the first position, the first nano-fiber is leveraged away from the contact surface, and the second nano-fiber contacts the contact surface and provides an adhesive force at the contact surface.
36. The method of claim 35, wherein the curved surface is a portion of a wheel.
37. The method of claim 35, wherein the curved surface is a tire.
38. The method of claim 35, wherein the first and the second nano-fibers are each capable of providing an adhesive force with the contact surface of between 0.01 \u03bcN and 0.20 \u03bcN.

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 computer-implemented method to schedule one or more operating system threads through a hypervisor that manages heterogeneous processing cores, the method comprising:
receiving a thread scheduling request from an operating system to run instructions of a thread on an identified virtual core presented by a hypervisor, wherein the virtual core isolates the operating system from one or more capability differences between physical processing cores accessible to a computing device;
determining one or more processing needs of the received scheduling request;
accessing a scheduling policy that specifies one or more goals for operating the computing device;
selecting a physical processing core on which to execute the thread associated with the received scheduling request, wherein the selection is made based on the accessed scheduling policy; and
scheduling the thread to execute on the selected physical processing core.
2. The method of claim 1 wherein receiving a thread scheduling request comprises regardless of the particular virtual core that the operating system selects for executing a thread, a hypervisor selecting any particular physical processing core to execute the thread in accordance with one or more hypervisor policies.
3. The method of claim 1 wherein determining processing needs comprises determining a particular instruction set, available co-processors, instruction set extensions, or architecture extensions used by the scheduled thread.
4. The method of claim 1 wherein determining processing needs comprises determining one or more performance requirements of the thread.
5. The method of claim 1 wherein determining processing needs comprises determining whether the thread is suitable for slower execution at lower power usage.
6. The method of claim 1 wherein determining processing needs comprises determining, whether the thread can be delayed until additional processing resources are available.
7. The method of claim 1 wherein determining processing needs comprises accessing specific knowledge about a particular operating system to determine processing needs of a particular thread.
8. The method of claim 1 wherein accessing the scheduling policy comprises determining that the policy requests optimization of power usage, and specifies scheduling threads to lower power processing cores that are available.
9. The method of claim 1 wherein accessing the scheduling policy comprises determining that the policy requests optimization of performance and specifies scheduling threads to higher performance processing cores that are available.
10. The method of claim 1 wherein accessing the scheduling policy comprises determining that the computing device is a mobile device with limited power available or a device with thermal limits, and specifies optimizing power usage or managing heat through the selection of cores on which to schedule threads.
11. The method of claim 1 wherein selecting the physical processing core comprises selecting one of multiple available cores of differing capabilities and performancepower characteristics on which the system can schedule the thread.
12. The method of claim 1 wherein selecting the physical processing core comprises making the selection in a manner that promotes one or more goals for managing performance and power usage of the computing device.
13. The method of claim 1 further comprising handling one or more capability differences between the thread and the selected physical processing core.
14. The method of claim 1 wherein scheduling the thread to execute further comprises handling output and providing the output back to the operating system, making the output appear to the operating system to come from the virtual core to which the operating system assigned the thread.
15. A computer system for providing operating system-decoupled heterogeneous computing through a hypervisor, the system comprising:
one or more processing complexes that include one or more processing cores that have heterogeneous processing capabilities and power profiles;
an operating system interface component that communicates between a hypervisor and an operating system to receive instructions for delivering to hardware resources and for receiving output from the hardware resources to make differing cores appear the same to the operating system;
a virtual core management component that manages one or more virtual cores that the hypervisor presents to the operating system;
a policy engine component that manages one or more policies for scheduling operating system threads and presenting virtual cores to the operating system based on the available one or more processing complexes;
a scheduling component that schedules one or more instruction streams received as threads from the operating system to one or more of the processing complexes installed in the computing device; and
a hardware interface component that communicates between the hypervisor and processing complexes to schedule software instructions to run on available physical cores.
16. The system of claim 15 wherein the virtual core management component provides a virtual core that appears to the operating system as a CPU core, but differs in characteristics from available physical hardware to allow the operating system to work with hardware with which the operating system was not designed to work.
17. The system of claim 15 wherein the scheduling component receives a virtual core identification from the operating system that identifies the virtual core to which the operating system requests to schedule the thread.
18. The system of claim 15 wherein the scheduling component examines the schedule request and determines a physical core on which to schedule the thread to execute.
19. The system of claim 15 further comprising a capability management component that manages one or more differences between processing cores.
20. A computer-readable storage medium comprising instructions for controlling a computer system to initialize a computing device with heterogeneous processing cores using a hypervisor between the cores and an operating system, wherein the instructions, upon execution, cause a processor to perform actions comprising:
receiving a startup request to initialize a computing device;
enumerating two or more processing cores accessible to the computing device;
determining capabilities of each enumerated processing core, wherein the capabilities include one or more power profiles offered by each core and performance characteristics of each core;
identifying one or more operating systems for which the hypervisor will manage access and scheduling for the enumerated physical cores;
accessing hypervisor policy information that specifies one or more goals for scheduling operating system threads on the enumerated physical processing cores;
creating one or more virtual cores to expose to the identified operating system, wherein each virtual core isolates the operating system from determined differences in capabilities among the physical processing cores; and
invoking the identified operating system and presenting the created virtual cores to the operating system while isolating the identified operating system from the enumerated physical processing cores.