1460947490-7c10eadf-8a00-48a1-b752-6aca5240dca0

1. A deformable optical element comprising:
an elastically deformable solid lens being passively deformable in response to an applied force;
a plurality of electrical contacts directly attached to the elastically deformable lens and configured to receive an applied voltage; and
the plurality of electrical contacts having opposing surfaces configured to develop an electrostatic force interacting between the opposing surfaces in response to the applied voltage, the plurality of electrical contacts applying the electrostatic force to elastically deform at least a portion of the elastically deformable lens between the electrical contacts and to which the electrical contacts are directly attached to create a predetermined optical effect.
2. The deformable optical element of claim 1, wherein the predetermined optical effect is a change in a focal length of the elastically deformable lens.
3. The deformable optical element of claim 1, wherein the predetermined optical effect is a change in a beam deflection angle of the elastically deformable lens.
4. The deformable optical element of claim 1, wherein the elastically deformable lens is formed from a polymer.
5. The deformable optical element of claim 4, wherein the polymer has a Young’s modulus of less than about 1 MPa.
6. The deformable optical element of claim 4, wherein the elastically deformable lens is formed from polydimethylsiloxane.
7. The deformable optical element of claim 1, wherein at least one of the plurality of electrical contacts is formed of a transparent conductor.
8. The deformable optical element of claim 7, wherein the plurality of electrical contacts are formed of indium tin oxide.
9. The deformable optical element of claim 1, wherein the plurality of electrical contacts comprises:
a base contact disposed on a first side of the elastically deformable lens; and
a plurality of steering contacts disposed on a second side of the elastically deformable lens opposite the first side.
10. The deformable optical element of claim 1, comprising a plurality of elastically deformable lenses each having at least one separate electrical contact attached thereto.
11. The deformable optical element of claim 10, wherein each one of the plurality of elastically deformable lenses is individually controllable via the at least one separate electrical contact.
12. The deformable optical element of claim 10, wherein at least two of the plurality of elastically deformable lenses have corresponding electrical contacts electrically connected together to enable a single voltage to provide common control.
13. A method of controlling the optical shape of a deformable optical element comprising:
providing an elastically deformable solid lens configured to be passively deformable in response to an applied force and having a plurality of electrical contacts directly attached to the elastically deformable lens;
applying a voltage to the plurality of electrical contacts to generate an applied electrostatic force between the electrical contacts in proportion to the applied voltage; and
distorting at least a portion of the elastically deformable lens between the electrical contacts and to which the electrical contacts are directly attached into a predetermined optical shape in response to the electrostatic force applied by the electrical contacts.
14. The method of claim 13, wherein the voltage controls at least one of a focal length of the lens and a beam deflection of the lens.
15. The method of claim 13, further comprising: propagating a light beam through the deformable optical element; and varying the voltage to steer the light beam to position the beam onto a detector.
16. The method of claim 15, wherein the voltage is controlled using a closed loop system.
17. A method of making a deformable optical element comprising:
forming an elastically deformable solid lens configured to be passively deformable in response to an applied force; and
attaching a plurality of electrical contacts to the elastically deformable lens positioned so that an applied electrostatic force generated between opposing surfaces of the electrical contacts can distort at least a portion of the elastically deformable lens between the electrical contacts and to which the electrical contacts are directly attached to affect an optical shape of the lens to form the deformable optical element.
18. The method of claim 17, wherein attaching the plurality of electrical contacts to the elastically deformable lens comprises:
depositing a first electrical contact on a substrate, wherein the elastically deformable lens is formed on top of the first electrical contact; and
depositing a second electrical contact on top of the elastically deformable lens.
19. The method of claim 17, wherein forming an elastically deformable lens comprises depositing and shaping a polymer material to define the elastically deformable lens.
20. The method of claim 17, wherein forming an elastically deformable lens comprises depositing a polymer material to define a plurality of elastically deformable lenses.
21. The method of claim 20, wherein attaching a plurality of electrical contacts to the elastically deformable lens comprises attaching at least two electrical contacts to each of the plurality of elastically deformable lenses to enable independent control of the plurality of elastically deformable lenses.
22. The method of claim 17, further comprising designing lens shape and electrical contact geometry so a predefined voltage applied to the electrical contacts produces a predefined optical shape of the lens.
23. The method of claim 20, further comprising separating the plurality of elastically deformable lenses into separate deformable optical elements.

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 method, comprising:
detecting that a process executing on a processor of a first computing partition desires to write to a portion of memory that includes a data object, the data object comprising a plurality of fields that are populated by a plurality of respective values; and
transmitting data to a protection system that is configured to protect the first computing partition from malicious code responsive to detecting that the process executing on the processor of the computing device desires to write to the portion of the memory that includes the data object.
2. The method of claim 1, wherein the protection system is executing in a second computing partition that is separate from the first computing partition.
3. The method of claim 2, wherein the first computing partition is a first virtual machine and the second computing partition is a second virtual machine, wherein the first virtual machine and the second virtual machine reside on the same computing device.
4. The method of claim 3, wherein the first virtual machine is a guest virtual machine and the second virtual machine is a host virtual machine.
5. The method of claim 4, wherein detecting that the process executing on the processor of the first computing partition desires to write to the portion of memory that includes the data object is undertaken in a hypervisor.
6. The method of claim 5, further comprising:
write protecting a page of memory that comprises the data object, wherein a write request to the page of memory that comprises the data object is trapped in the hypervisor.
7. The method of claim 6, wherein detecting that the process executing on the processor of the first computing partition desires to write to the portion of memory that includes the data object comprises comparing a target address in a write request from the process to a predefined address range to differentiate between desirably monitored data objects and co-located data elements in the page of memory.
8. The method of claim 1, wherein the data transmitted to the protection system is an object event, the object event comprising a flag that indicates whether the write to the data object is to create a new data object, delete an existing data object, or modify the existing data object.
9. The method of claim 8, wherein the object is in an object graph generated by an operating system of the first computing partition, and wherein objects in the object graph identify processes to be executed by the processor and an order of execution of the processes.
10. The method of claim 9, further comprising:
identifying a field of the data object that is desirably modified by the process executing on the processor;
determining whether or not the field is a pointer to another object in the object graph;
inferring a type of write that is desirably performed by the process executing on the processor based upon whether or not the field is the pointer to another object in the object graph, the type of write being one of object creation, object deletion, or object modification, and wherein the data transmitted to the protection system comprises the type of write.
11. The method of claim 1 executed in a mobile telephone.
12. The method of claim 1 executed in a cloud computing system.
13. A system, comprising:
a monitor component that identifies that a process executed by a processor on a computing device has accessed a portion of memory that is known to comprise data structures, the monitor component outputting data that identifies an address in memory accessed by the process;
a root component that receives the data that identifies the address in memory accessed by the process and infers a type of memory write that is desirably performed by the process responsive to receiving the data that identifies the address in memory accessed by the process, and wherein responsive to inferring the type of memory write that is desirably performed by the process, the root component transmits an object event to a protection system that is configured to prevent execution of malicious code by the processor.
14. The system of claim 13, wherein the process executed by the processor executes in a first computing partition, wherein the monitor component executes in a second computing partition, and wherein the root component and the protection system execute in a third computing partition.
15. The system of claim 14, the first computing partition being a first virtual machine, the second computing partition being a hypervisor, and the third computing partition being a second virtual machine.
16. The system of claim 15 comprised by a server in a cloud computing environment.
17. The system of claim 13, wherein the data structure comprises a plurality of fields, wherein the root component determines which field in the data structure is desirably written to by the process, and wherein the type of memory write that is desirably performed by the process is inferred based at least in part upon the field in the data structure that is desirably written to by the process.
18. The system of claim 17, wherein the type of memory write is one of a memory write to create a data structure, a memory write to remove a data structure, or a memory write to modify a data structure.
19. The system of claim 13, the data structure being an object in a linked list of objects, the linked list of objects generated by an operating system of the computing device, objects in the linked list of objects identifying to the processor processes that are to be executed by the processor and an order that the processes are to be executed by the processor.
20. A computer-readable medium comprising instructions that, when executed by a processor, cause the processor to perform acts comprising:
write-protecting a page in memory utilized by a first computing partition, the page in the memory comprising an object that is desirably monitored, the object comprising a plurality of fields having a plurality of respective values, and the object being in a linked list of objects defined by an operating system of the first computing partition;
detecting, in a second computing partition, that a process being executed by a processor utilized by the first computing partition has requested to write to the page;
responsive to detecting that the process being executed by the processor has requested to write to the page, detecting that the process being executed by the processor has requested to write to the object;
in a third computing partition, determining which field of the object is desirably written to by the process being executed by the processor;
in the third computing partition, determining whether the field comprises a pointer to another object in the linked list of objects;
in the third computing partition, determining a type of write desirably undertaken by the process being executed by the processor, the type of write being one of creation of a new object in the linked list of objects, deletion of an existing object from the linked list of objects, or modification of the object in the linked list of objects; and
transmitting data that identifies the type of write desirably undertaken by the process being executed by the processor to a protection system, the protection system configured to protect the first computing partition from malware.