Video surveillance systems using out of band key exchange
US-12177293-B2 · Dec 24, 2024 · US
US10200464B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10200464-B2 |
| Application number | US-201514804696-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 21, 2015 |
| Priority date | Oct 2, 2012 |
| Publication date | Feb 5, 2019 |
| Grant date | Feb 5, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
The subject disclosure relates to systems and methods for casting an application from a source device to a destination device. In particular, a process can include steps for causing a source application executing as a foreground process in an operating system of a source computing device to store state data, transmitting the state data of the source application to a set of destination computing devices, and transmitting a cast command to the destination computing device, where the cast command is configured to instruct the destination computing device to execute the source application on the destination computing device using the state data.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method comprising: receiving, in response to user input received during an execution of a source application executing as a foreground process on an operating system of a source computing device, an invocation command; in response to the invocation command: causing a casting application process to execute as a foreground process of the operating system of the source computing device and thereby cause the source application to execute as a background process of the operating system of the source computing device, and causing the source application to backup state data of the source application that indicates a set of properties of the source application execution at a first time; capturing a screenshot of the source computing device executing the source application; transmitting the state data to a set of destination computing devices via a server that synchronizes the state data with the set of destination computing devices; displaying a selection menu representing each of the set of destination computing devices using the screenshot as a background image, wherein the selection menu is provided by the casting application process executing as a foreground process; and transmitting, in response to a user selection of a destination computing device from the selection menu, a cast command to the destination computing device instructing the destination computing device to execute the source application on the destination computing device using the state data, whereby a user of the destination computing device can continue uninterrupted execution of the source application on the destination computing device at a second time. 2. The computer-implemented method of claim 1 , further comprising causing the source application to resume execution as a foreground process after transmitting the cast command to the destination computing device. 3. The computer-implemented method of claim 1 , further comprising terminating execution of the source application after transmitting the cast command to the destination computing device. 4. The computer-implemented method of claim 1 , wherein the screenshot of the source computing device is captured by the operating system of the source computing device. 5. The computer-implemented method of claim 1 , wherein the screenshot of the source computing device is captured by retrieving an image frame from a frame buffer of the source computing device. 6. The computer-implemented method of claim 1 , further comprising: determining the set of destination computing devices based on appcasting criteria, wherein the appcasting criteria comprises at least one selected from a group consisting of application availability on destination computing devices, application version compatibility on destination computing devices, user preferences for appcasting, proximity of destination computing devices, and connectivity of destination computing devices. 7. A system, comprising: a computer processor; a network adapter that facilitates communication with a server and a group of computing devices associated with a user; and a memory having instructions, which when executed by the processor, enable the processor to: cause a source application executing as a foreground process in an operating system of a source computing device to store state data of the source application; transmit the stored state data of the source application to a set of destination computing devices; display a selection menu indicating a subset of destination computing devices from among the set of destination computing devices; receive a cast selection via the selection menu, wherein the cast selection indicates a destination computing device from among the subset of destination computing devices; and transmit a cast command to the destination computing device indicated by the cast selection, wherein the cast command is configured to instruct the destination computing device to execute the source application on the destination computing device using the state data, whereby a user of the destination computing device can continue uninterrupted execution of the source application on the destination computing device. 8. The system of claim 7 , wherein the memory further includes instructions that, when executed by the processor, enable the processor to: receive an invocation command in response to user input received during execution of the source application as a foreground process; and in response to the invocation command, cause a casting application process to execute as a foreground process of the operating system, and thereby cause the source application to execute as a background process of the operating system and cause the source application to store state data of the source application. 9. The system of claim 7 , wherein the memory further includes instructions that, when executed by the processor, enable the processor to: issue a backup command, in response to user input received during execution of the source application as a foreground process, that causes the source application to back up state data of the source application. 10. The system of claim 7 , wherein the memory further includes instructions that, when executed by the processor, enable the processor to: conduct initial determinations comprising at least one selected from a group consisting of determining whether an application is executing as a foreground process, determining what application is executing as a foreground process, determining a version of an application executing as a foreground process, determining whether an application executing as a foreground process supports appcasting, and determining whether user preferences allow for appcasting of an application executing as a foreground process. 11. The system of claim 7 , wherein the memory further includes instructions that, when executed by the processor, enable the processor to: capture a display frame of the source application depicting the source application executing as a foreground process; and display the display frame as a background image for the selection menu. 12. The system of claim 7 , wherein the memory further includes instructions that, when executed by the processor, enable the processor to: determine the subset of destination computing devices based on physical proximity of each destination computing device of the set of destination computing devices to the source computing device. 13. The system of claim 7 , wherein the memory further includes instructions that, when executed by the processor, enable the processor to: determine the subset of destination computing devices based on user preferences about each destination computing device of the set of destination computing devices. 14. A non-transitory computer-readable storage medium comprising a plurality of instructions configured to execute on at least one computer processor to enable the computer processor to: cause a source application executing as a foreground process in an operating system of a source computing device to store state data of the source application; transmit the stored state data of the source application for a set of destination computing devices; display a selection menu indicating a subset of destination computing devices from among the set of destination computing devices; receive a cast selection via the selection menu, wherein the cast selection indicates a destination computing device from among the subset of destination computing devices; and transmit a cast command to the destination computing device based on the cast selection, wherein the cast command
Interaction with lists of selectable items, e.g. menus · CPC title
Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity · CPC title
Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes · CPC title
Peer-to-peer [P2P] networks · CPC title
for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.