1) A system for displaying digital content on a display device comprising a processing controller, a memory, and a display screen, the system comprising:
at least one digital content item, configured to be displayed on the display device;
a service cloud, comprising said server, a first memory, and a first processor, configured to store and manage said at least one digital content item; and
an application, configured to run on a computer with a second memory, a second processor, and a user input device, and configured to communicate via the Internet with said service cloud and the processing controller of the display device;
wherein an interface of said application comprises a virtual representation of the display device in communication with said application through said service cloud;
wherein said application is configured to accept a signal from said user input device;
wherein, in response to said signal from said user input device, said application is configured to detect a display of said at least one digital content item on said interface operable to be selected and moved within said interface, select said display of said at least one digital content item from a virtual representation of a digital library on said interface of said application, and move said display of said at least one digital content item from said virtual representation of said digital library to said virtual representation of the display device on said interface corresponding to the display device; and
wherein, in response to said selection and moving of said display of said at least one digital content item on said interface, said first processor of said service cloud is configured to send said at least one digital content item to the display screen of the display device via the internet.
2) A system as claimed in claim 1, wherein said at least one digital content item comprises one or more of still images, motion images, interactive images, and app images.
3) A system as claimed in claim 2, wherein said digital content comprises one or more of digital art, digital poster, or digital decoration.
4) A system as claimed in claim 1, wherein said first processor of said service cloud is configured to send said at least one digital content item to the processing controllers of a plurality of display devices for simultaneous display of said at least one digital content item on the display screens thereof.
5) A system as claimed in claim 2, further comprising a second digital content item.
6) A system as claimed in claim 5, wherein said second digital content item is configured to be displayed on the display device concurrently with said at least one digital content item.
7) A system as claimed in claim 5, wherein said at least one digital content item is configured to be deleted by the processing controller of the display device if there is not enough storage space for said second digital content item to be displayed concurrently.
8) A system as claimed in claim 5, wherein said second digital content item comprises one or more of still images, motion images, interactive images, and app images.
9) A system as claimed in claim 8, wherein said second digital content item comprises a different image type than said at least one digital content item.
10) A system as claimed in claim 8, wherein said second digital content comprises one or more of digital art, digital poster, or digital decoration.
11) A system as claimed in claim 8, wherein said at least one digital content item and at least said second digital content item, when displayed concurrently, are configured to each maintain a 16:9 aspect ratio.
12) A system as claimed in claim 11, further comprising a third digital content item, wherein when said third digital content item is displayed concurrently with said at least one digital content item and said second digital content item in a vertical configuration, said digital content images are configured to cover substantially the entirety of a display area of the display screen and to each maintain a 16:9 aspect ratio.
13) A system as claimed in claim 2, wherein said first processor of said service cloud is further configured to provide one or more of a digital frame and a digital mat to surround said at least one digital content item on said selected display device.
14) A system as claimed in claim 1, wherein said application, in response to a second signal from said user input device to remove said at least one digital content item from the display device, is further configured to select said at least one digital content item on said interface of said application from said virtual representation of the display device and move said at least one digital content item to said virtual representation of said digital library on said interface of said application.
15) A system as claimed in claim 14, wherein, in response to said selection and moving of said display of said at least one digital content item by said application, said first processor of said service cloud is configured to remove said at least one digital content item from the display screen of the display device.
16) A system as claimed in claim 1, wherein said computer is a mobile device.
17) A system as claimed in claim 16, wherein said application further comprises an erase function.
18) A system as claimed in claim 17, wherein said application is configured, when said mobile device is waved in front of the display device displaying said at least one digital content item, to remove said at least one digital content item from the display screen of the display device.
19) A system as claimed in claim 1, wherein said user input device comprises a touch screen.
20) A system as claimed in claim 1, wherein a virtual environment abstraction layer adapter in said service cloud is configured to allow control of said application on said computer simultaneously with display of said at least one digital content item on the display screen of the display device.
21) A method for displaying digital content on a display device comprising a processing controller, a memory, and a display screen, the method comprising:
providing at least one digital content item configured to be displayed on the display device;
storing, by a service cloud comprising a server, a first memory, and a first processor, said at least one digital content item;
accepting, by an application configured to run on a computer with a second memory, a second processor, and a user input device, a signal from said user input device, wherein said application is configured to communicate via the Internet with said service cloud and the processing controller of the display device;
providing, by an interface of said application, a virtual representation of the display device in communication with said application through said service cloud;
detecting, by said application, a display of said at least one digital content item on said interface of said application;
selecting, by said application in response to said signal from said user input device, said display of said at least one digital content item operable to be selected and moved within said interface from a virtual representation of a digital library on said interface of said application;
moving, by said application, said display of said at least one digital content item from said virtual representation of said digital library to said virtual representation of the display device on said interface corresponding to the display device; and
sending, by said first processor of said service cloud in response to said selecting and moving of said display of said at least one digital content item by said application, said at least one digital content item to the display screen of the display device via the internet.
22) A method as claimed in claim 21, wherein said at least one digital content item comprises one or more of still images, motion images, interactive images, and app images.
23) A method as claimed in claim 22, wherein said at least one digital content item comprises one or more of digital art, digital poster, or digital decoration.
24) A method as claimed in claim 21, further comprising sending, by said first processor of said service cloud, said at least one digital content item to the processing controllers of a plurality of display devices for simultaneous display of said at least one digital content item on the display screens thereof.
25) A method as claimed in claim 21, further comprising providing a second digital content item.
26) A method as claimed in claim 25, wherein said second digital content item is configured to be displayed on the display device concurrently with said at least one digital content item.
27) A method as claimed in claim 26, wherein said at least one digital content item is configured to be deleted by the processing controller of the display device if there is not enough storage space for said second digital content item to be displayed concurrently.
28) A method as claimed in claim 25, wherein said second digital content item comprises one or more of still images, motion images, interactive images, and app images.
29) A method as claimed in claim 28, wherein said second digital content item comprises a different image type than said at least one digital content item.
30) A method as claimed in claim 28, wherein said second digital content item comprises one or more of digital art, digital poster, or digital decoration.
31) A method as claimed in claim 29, wherein said at least one digital content item and at least said second digital content item, when displayed concurrently, are configured to each maintain a 16:9 aspect ratio.
32) A method as claimed in claim 31, further comprising a third digital content item, wherein when said third digital content item is displayed concurrently with said at least one digital content item and said second digital content item in a vertical configuration, said digital content images are configured to cover substantially the entirety of a display area of the display screen and to each maintain a 16:9 aspect ratio.
33) A method as claimed in claim 22, further comprising providing, by said first processor of said service cloud, one or more of a digital frame and a digital mat to surround said at least one digital content item on said selected display device.
34) A method as claimed in claim 21, further comprising selecting, by said application in response to receipt of a second signal from said user input device to remove said at least one digital content item from the display device, said display of said at least one digital content item from said virtual representation of the display device on said interface of said application and moving said display of said at least one digital content item to said virtual representation of said digital library on said interface of said application.
35) A method as claimed in claim 34, further comprising removing, by said first processor of said service cloud in response to said selection and moving of said display of said at least one digital content item by said application, said at least one digital content item from the display screen of the display device.
36) A method as claimed in claim 21, wherein said computer is a mobile device.
37) A method as claimed in claim 36, wherein said application further comprises an erase function.
38) A method as claimed in claim 37, further comprising removing, by said application when said mobile device is waved in front of the display device displaying said at least one digital content item, said at least one digital content item from the display screen of the display device.
39) A method as claimed in claim 21, wherein said user input device comprises a touch screen.
40) A method as claimed in claim 21, further comprising allowing, by a virtual environment abstraction layer adapter in said service cloud, simultaneous control of said application on said computer and display of said at least one digital content item on the display screen of the display device.
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 storage media storing computer-executable instructions that, when executed, cause one or more processors to perform acts comprising:
performing a real-time task execution using a first thread on a current core of a multi-core processor;
acquiring, by the first thread and based at least in part on a predetermined event, a thread affinity for a second thread that executes on an alternative core of the multi-core processor,
storing, by the first thread, the thread affinity in a queue that is accessible to the first thread and the second thread;
obtaining, by the second thread, the thread affinity from the queue;
initiating the second thread to take over performance of the real-time task on the alternative core of the multi-core processor while the first thread is performing the real-time task on the current core; and
transferring, in order to free up the current core, performance of the real-time task from the first thread to the second thread after the second thread is executing on the alternative core to perform the real-time task.
2. The computer storage media of claim 1, the acts further comprising performing a non real-time task by executing the first thread on the current core or another core of the multi-core processor following the transferring.
3. The computer storage media of claim 1, wherein the initiating includes changing the second thread from a wait state to an executing state.
4. The computer storage media of claim 1, wherein the first thread acquires the thread affinity by requesting an allocation of the alternative core.
5. The computer storage media of claim 1, wherein the obtaining the thread affinity includes obtaining the thread affinity from a switch object in the queue that is accessible to the first thread and the second thread.
6. The computer storage media of claim 1, wherein the initiating includes requesting an allocation of the alternative core using the second thread following an elapse of a predetermined time interval.
7. The computer storage media of claim 1, wherein the alternative core is allocated for the performance of the real-time task on a round robin basis, a fair usage basis, a prioritized basis, or a random basis.
8. The computer storage media of claim 1, wherein the transferring includes:
sending a thread ready indicator from the second thread to the first thread upon the second thread obtaining the thread affinity and being executed on the alternative core;
providing an additional thread ready indicator from the first thread to the second thread and placing the first thread in a wait state upon the first thread receiving the thread ready indicator; and
performing the real-time task in the second thread on the alternative core of the multi-core processor.
9. A computer-implemented method, comprising:
performing a real-time task by executing a first thread on a current core of a multi-core processor;
acquiring, by the first thread and based at least in part on a predetermined event, a thread affinity for a second thread to take over performance of the real-time task on an alternative core in order to free up the current core;
storing, by the first thread, the thread affinity in a queue that is accessible to both the first thread and the second thread;
obtaining, by the second thread, the thread affinity from the queue;
initiating the second thread to take over performance of the real-time task on the alternative core while the first thread is performing the real-time task on the current core:
transferring, in order to free up the current core, performance of the real-time task from the first thread to the second thread after the second thread is executing on the alternative core to perform the real-time task.
10. The computer-implemented method of claim 9, further comprising executing an additional thread on the current core to perform a non real-time task after the second thread begins executing the real-time task on the alternative core.
11. The computer-implemented method of claim 9, further comprising preventing, for at least a predetermined time period, the current core from executing an additional thread that performs another real-time task after the first thread terminates execution on the current core to enter the wait state.
12. The computer-implemented method of claim 9, further comprising passing a thread ready indicator and an additional thread ready indicator between the first thread and the second thread using a variable in a memory space that is accessible to both the first thread and the second thread.
13. The computer-implemented method of claim 9, wherein the alternative core is an available core of the multi-core processor that is allocated to the second thread on a round robin basis, a fair usage basis, a prioritized basis, or a random basis.
14. The computer-implemented method of claim 9, wherein the acquiring includes using the second thread to initiate an allocation request for the alternative core following an elapse of a predetermined time interval.
15. A computing device, comprising:
a multi-core processor; and
a memory that includes a plurality of computer-executable components, comprising:
a scheduler that schedules a real-time task to be performed by threads executing on multiple cores of the multi-core processor, the threads including a first thread that executes on a first core of the multiple cores to perform the real-time task, and a second thread that obtains a thread affinity for taking over performance of the real-time task on a second core of the multiple cores;
a queue that is accessible to the first thread and the second thread, wherein the first thread acquires, based at least in part on a predetermined event, the thread affinity and stores the thread affinity in the queue, and wherein the second thread obtains the thread affinity from the queue; and
a dispatcher that initiates the second thread to take over performance of the real-time task on the second core of the multi-core processor while the first thread is performing the real-time task;
wherein, in order to free up the current core, performance of the real-time task is transferred from the first thread to the second thread after the second thread is executing on the alternative core to perform the real-time task.
16. The computing device of claim 15, wherein the queue stores a switch object that tracks the thread affinity.
17. The computing device of claim 15, wherein the first thread is to terminate execution on the first core upon transfer of the performance of the real-time task to the second core.
18. The computing device of claim 17, further comprising a dampen mechanism that prevents the first core from executing a thread that performs another real-time task for a predetermined time period after the first thread terminates execution on the first core.
19. The computer storage media of claim 1, wherein the predetermined event comprises a predetermined time interval.
20. The computer-implemented method of claim 9, wherein the predetermined event comprises a predetermined time interval.