Patent ID: 12210661

DETAILED DESCRIPTION OF THE INVENTION

Generally, the systems and methods described herein for monitoring and controlling usage of a work computing device in a home or office work environment may be implemented in hardware, software or a combination thereof, and may be distributed across a variety of computing devices.

This document is organized as follows. In the first section for each embodiment, an overview of the techniques and implementation in accordance with certain aspects of the invention is provided. In the next section for each embodiment, an exemplary system and algorithms for providing aspects of the present invention are discussed. Following these sections, an exemplary computer environment for the implementation and use of the invention is described.

In a traditional brick and mortar office environment, an employer is able monitor and control access to its computing devices using access control cards and surveillance cameras located in certain physical locations throughout the workplace. In a work-at-home scenario and in some traditional brick and mortar office environments, these traditional solutions are difficult and not practical to implement. In general, and as best seen inFIGS.1and2, the present invention provides a real-time computer-implemented computer vision method100in the form of computer-executable instructions201programmed for monitoring and controlling usage of a work computing device located in a home work environment, wherein the work computing device is in communication with an administrative computing device over a network. In the following discussion, reference will be made to the work computing device being used in a home work environment. It should be understood that the discussion applied equally to the work computing device being used in a traditional brick and mortar office environment as well.

The work computing device comprises a display including a field of view, a camera directed at the field of view and configured for capturing at least one digital image, and a processor configured for executing computer-executable instructions. Method100may include the step of providing a first memory for storing the computer-executable instructions at step102. It should also be understood that at least one feature (e.g., image) or attribute (e.g., size, shape, proportions, dimensions) of at least one unauthorized object is also stored in the first memory. The first memory may be incorporated within one or more of the work computing device, a remote server that is in communication with the work computing device over the network, or in a memory included within the administrative computing device. Further, the unauthorized object may be any object that is deemed to be capable of viewing, capturing, storing, recording, transmitting or otherwise taking information being displayed or communicated to the display for an improper purpose, such as, but not limited to, a mobile phone, digital tablet, laptop, notepad, or writing utensil.

Method100further comprises the step of capturing at least one digital image using the camera at step104. The camera is configured to capture a single digital image, a number of digital images in quick succession (i.e., burst), or a video (i.e., a plurality of digital images), all of which fall within the scope of at least one digital image. The least one digital image includes a first object depicted therein. The initiation of the capture of the at least one digital image may be accomplished in any number of ways. For instance, the camera may include a motion sensor that triggers the capture of the at least one digital image upon sensing or detecting movement or the presence of an object in the field of view. In another example when a plurality of digital images are captured by the camera, the capture of successive digital images may be done at a predetermined time interval (e.g., every 5 seconds) or at random time intervals to keep the user of the work computing device guessing as to when the capture will take place. For purposes of the discussion herein, any reference to digital image will also include a plurality of digital images unless the context of the discussion indicates otherwise.

Method100may further comprise the step of storing the captured digital image in the first memory at step106. The stored digital image may include or be provided (e.g., tagged, metadata) with a time stamp or a unique identifier to allow for the sorting and/or searching of the stored digital image for purposes of review and memorialization of the events occurring in the field of view of the camera. After the captured digital image is stored in the first memory, at least one feature or attribute of the first object captured in the digital image is detected and/or identified at step108. This identification may be accomplished using any known machine learning computer vision techniques, including but not limited to, a background subtraction algorithm or a cognitive-based computer detection/classification algorithm.

Once the at least one feature or attribute of the first object is detected and/or identified, the detected feature/attribute is compared with the feature(s)/attribute(s) of the at least one unauthorized object stored in the first memory at step110to determine if the first object is an unauthorized object. When the identified feature or attribute of the first object matches the stored feature or attribute of at least one unauthorized object, the processor is configured for sending or otherwise communicating a notification to the administrative computing device over the network to provide an alert that an unauthorized object is present in the field of view at step112. The notification to the administrative computing device may include a textual message and/or the captured digital image itself so that such digital image can be viewed on the administrative computing device.

In addition, or alternatively, to step112, the processor may be configured to prevent at least a portion of the display from being viewed from the field of view at step114if the identified feature or attribute of the first object matches the stored feature or attribute of at least one unauthorized object. Therefore, if for example a mobile phone is included within the captured digital image, and a mobile phone is identified as an unauthorized object, the present method may include preventing the entire display from being viewed and potentially recorded using the mobile phone. In one example, preventing the entire display from being viewed may include shutting down the display of the work computing device, locking the work computing device, or shutting down the entire work computing device. Instead of preventing the entire display from being viewed, step114may include redacting a portion of the display that includes certain information, such as, for example, personal identifiable information or other sensitive information.

In addition, or alternatively, to step112and/or step114, the processor may be configured to capture and/or store data that identifies the software applications and/or other functions that are running on the work computing device when at least one unauthorized object is detected and identified as an unauthorized object. For example, at step116, the processor may be configured to open the task manager function in the work computing device and then take a screen shot of the list of software applications and/or other functions being displayed in the take manager window. This screen shot provides a record of the software applications that the work computing device is running at the time the unauthorized object is detected. The screen shot record may then be communicated to administrative computing device over the network and displayed for immediate review, or stored in a memory for review at a later time using administrative computing device. This would allow an administrative to determine if any of the software applications being run on the work computing device could have been potentially used to capture or otherwise use the displayed data on the work computing device for an unauthorized purpose.

When the identified feature or attribute of the first object does not match the stored feature or attribute of at least one unauthorized object, then no action is taken at step118.

Now referring toFIG.2, an exemplary system that may be used to implement computer vision method100, and other methods and aspects described herein, is identified as reference number200. In particular, and as described above, system200is configured for monitoring and controlling usage of a work computing device202by a user204(FIG.3) located in a home/remote or office work environment206(referred to herein as “work environment”). Work computing device202may be any type of computing device, including, but not limited to a personal computer, laptop, mobile phone, or digital tablet. The home work environment206may be any location that is outside the physical location of the regular place of business of user's204employer, such as, but not limited to, the user's place of residence or public location (e.g., library, coffee shop, etc.).

With continued reference toFIG.2, work computing device202is in communication with an administrative computing device208over a network210. Network210may be any type of network, such as a wide area network (WAN) or local area network (LAN) through a wired or wireless connection. First computing device208may be an administrative computing device that is managed and/or controlled by the user's204employer, supervisor, or other designated third party that is tasked to control or monitor the usage of work computing device202. For purposes of the discussion herein, the first computing device will be referred to herein as the administrative computing device. While the discussion herein describes the functionality of administrative computing device208with respect to work computing device202, it should be understood that the methodology described herein can be implemented in association with a plurality of work computing devices202a,202blocated on in different home work environments204a,204b.

Method100described above may be implemented using computer executable instructions that are stored locally in a memory212included in work computing device202, a memory214included in administrative computing device208, or a server216that is in communication with work computing device202and administrative computing device208. In order to implement the computer executable instructions, system200provides for the storage of at least one feature or attribute of at least one unauthorized object in memory212,214, and/or216. With additional reference toFIGS.3and3A, work computing device202includes a display218having a field of view (FOV)220, and a camera222is directed at field of view220and is configured for capturing at least one digital image223. It should be understood that camera222may be a webcam configured for taking individual digital photos and/or capturing real-time video. Also, a video can include a plurality of sequential digital images. For purposes of the discussion herein and subsequently described embodiments, any reference to a digital image shall include a single digital image, or a video including a plurality of digital images.

Work computing device202further includes a processor configured for executing the computer-executable instructions to perform the steps of capturing digital image223using camera222, wherein digital image223includes a first object224(e.g., mobile phone, digital tablet, laptop, notepad, or writing utensil) in field of view220, and storing digital image223that was captured in one or more of memory212,214, and/or216. It should be understood that the capture of a plurality of digital images may take place at a pre-determined time interval or random time intervals. Computer executable instructions are further configured to identify or detect at least one feature or attribute of first object224captured in the captured digital image, and then compare the at least one feature or attribute of first object224with the at least one feature or attribute of the unauthorized object(s).

When the feature or attribute of first object224matches the feature or attribute of the unauthorized object, the processor in the work computing device202is configured for executing computer executable code that operates to send a notification to the administrative computing device208over network210, wherein the notification may include the at least one digital image captured by the camera. The digital image included in the notification may include or be provided with a time stamp or other unique searchable identifier so that the digital image can be searched and retrieved from the memory for later viewing on administrative computing device208. The processor in the work computing device202may also, or alternatively, execute computer executable code that is configured to prevent at least a portion of display218from being viewed from field of view220to prevent first object224from being used to obtain information being displayed on display218in the manner described above with respect to method100. The processor in work computing device202may also, or alternatively, execute computer executable code that is configured to capture and/or store representative data that identifies the software applications and/or other functions that are running on the work computing device202when at least one unauthorized object is detected and identified as an unauthorized object. This representative data can take the form of, for example, a screen shot of a task manager window that is automatically opened on work computing device202when an authorized object is detected, which shows all of the software applications and/or other functions running on work computing device202at the time the unauthorized object was detected.

In another aspect and similar to the concepts discussed above with respect to method100, as best seen inFIG.4, the present invention provides a computer-implemented computer vision method400including executable instructions203(FIG.2) programmed for execution in a computing environment for monitoring and controlling usage of a work computing device located in a home work environment, wherein the work computing device is in communication with a first computing device over a network. It should be understood that the description and definitions provided above with respect to method100also apply to method400. The work computing device comprises a display including a field of view, a camera directed at the field of view and configured for capturing at least one digital image, and a processor configured for executing computer-executable instructions. Method400may include the step of providing a first memory for storing the computer-executable instructions at step402. At least one feature (e.g., face shape, nose shape, ear shape, cheek structure, chin shape, or existence of glasses, image) or attribute (e.g., size, shape, proportions, dimensions, hair color, eye color, gender, or age) of at least one authorized user is stored in the first memory. The first memory may be incorporated within one or more of the work computing device, a remote server that is in communication with the work computing device over the network, or in a memory included within the administrative computing device.

Method400further comprises capturing the at least one digital image using the camera at step404. The camera is configured to capture a single digital image, a plurality digital images (i.e., burst), or a video, all of which fall within the scope of at least one digital image. The at least one digital image includes a first user depicted therein. The initiation of the capture of the at least one digital image may be accomplished in any number of ways. For instance, the camera may include a motion sensor that triggers the capture of the at least one digital image upon sensing or detecting movement or the presence of a person in the field of view. In another example when a plurality of digital images are captured by the camera, the capture of successive digital images may be done at a predetermined time interval (e.g., every 5 seconds) or at random time intervals to keep the user of the work computing device guessing as to when the capture will take place. For purposes of the discussion herein, any reference to digital image will also include a plurality of digital image unless the context of the discussion indicated otherwise.

Method400may further comprise the step of storing the captured digital image that was captured in the first memory at step406. The stored digital image may include or be provided (e.g., tagged, metadata) with a time stamp or a unique identifier to allow for the sorting and/or searching of the stored digital image for purposes of review and memorialization of the events occurring in the field of view of the camera. After the captured digital image is stored in the first memory, at least one feature or attribute of the first user captured in the digital image is detected and/or identified at step408. This identification may be accomplished using any known machine learning computer vision techniques, including but not limited to, a background subtraction algorithm or a cognitive-based computer detection/classification algorithm.

Once the at least one feature or attribute of the first user is detected and/or identified, the detected feature/attribute is compared with the feature(s)/attribute(s) of the authorized user stored in the first memory at step410to determine if the first user is an authorized user. When the identified feature or attribute of the first user matches the stored feature or attribute of at least one unauthorized user, the processor is configured for sending or otherwise communicating a notification to the administrative computing device over the network to provide an alert that an unauthorized user is present in the field of view at step412. The notification to the administrative computing device may include a textual message and/or the captured digital image itself so that such digital image can be viewed on the administrative computing device.

In addition, or alternatively, to step412, the processor may be configured to prevent at least a portion of the display from being viewed from the field of view at step414if the identified feature or attribute of the first user matches the stored feature or attribute of at least one unauthorized user. Therefore, for example, if an individual (e.g., non-employee) is included within the captured digital image, and the individual is identified as an unauthorized user, the present method400may include preventing the entire display from being viewed and potentially read by the unauthorized individual. In one example, preventing the entire display from being viewed may include shutting down the display of the work computing device, or the entire work computing device. Instead of preventing the entire display from being viewed, step414may include redacting a portion of the display that includes certain information, such as, for example, personal identifiable information or other sensitive information.

In addition, or alternatively, to step412and/or step414, the processor may be configured to store data that identifies the software applications and/or other functions that are running on the work computing device when at least one unauthorized individual is detected and identified as an unauthorized individual. For example, at step416, the processor may be configured to open the task manager function in work computing device and take a screen shot of the list of software applications and/or other functions being displayed in the take manager window. The screen shot provides a record of the software applications that the work computing device is running when the unauthorized individual is detected. The screen shot record may then be communicated to administrative computing device over the network and displayed for immediate review, or stored in memory for review at a later time using the administrative computing device. This would allow an administrative to determine if any of the software applications being run on the work computing device could have been potentially used to capture or otherwise use the displayed data on the work computing device for an unauthorized purpose.

When the identified feature or attribute of the first user matches the stored feature or attribute of at least one unauthorized user, then no action is taken at step418.

With reference toFIGS.2,5and5A, system200may be used to implement method400, as well as other method described herein. In particular, system400provides for the storage of at least one feature or attribute of at least one authorized user is stored in memory212,214, and/or216. The processor of work computing device202may execute computer executable instructions to capture the at least one digital image223ausing camera222, wherein digital image223aincludes a first user502in field of view220. It should be understood that first user502may be the only person in field of view220, or may be one of a plurality of users204,502(e.g., second user) in field of view220. Also, when referring to a user, this could include just the face of a user, the whole body of a user, or any portion thereof. Regardless of the number of user's in field of view220, method400may be performed on each user individually or in a collective manner if such processing can be accommodated by the processor. After the digital image is captured, the digital image is stored in one or more of memory212,214, and/or216. The capture of the digital image may take place at a pre-determined time interval or random time intervals. Computer executable instructions are further configured to identify or detect at least one feature or attribute of first user502captured in the captured digital image, and then compare the at least one feature or attribute of first user502with the at least one feature or attribute of the unauthorized user(s).

When the feature or attribute of first user502does not match the feature or attribute of the authorized user, the processor in the work computing device202is configured for executing computer executable code that operates to send a notification to the administrative computing device208over network210, wherein the notification may include digital image223acaptured by the camera. The digital image included in the notification may include or be provided with a time stamp or other unique searchable identifier so that the digital image can be searched and retrieved from the memory for later viewing on administrative computing device208. The processor in the work computing device202may also, or alternatively, execute computer executable code that is configured to prevent at least a portion of display218from being viewed from field of view220to prevent first user502from viewing or reading information being displayed on display218in the manner described above with respect to method400. The processor in work computing device202may also, or alternatively, execute computer executable code that is configured to capture and/or store representative data that identifies the software applications and/or other functions that are running on the work computing device202when at least one unauthorized individual is detected and identified as an unauthorized individual. This representative date can take the form of, for example, a screen shot of a task manager window that is automatically opened on work computing device202when an unauthorized user is detected, which shows all of the software applications and/or other functions running on work computing device202at the time the unauthorized individual is detected.

With reference to the discussion provided above, both method100and400include the step of capturing at least one digital image using the camera on the work computing device. When the at least one digital image is captured in the home work environment, the field of view of the camera presumably is directed to the employee working on the work computing device as an area of interest. Since the employee is working from home, the field of view will also include a background that will include a view the employee's home and personal effects disposed therein that can be seen in the field of view behind the area of interest. For example, the background could include personal family photos and items. An employee has a certain expectation of privacy in the home including the background that may be provided in the field of view. In order to provide the employee with a certain level of privacy, methods100,400may further include the step of masking the background in the at least one digital image that is captured by the camera using a background subtraction method. The masking may include, but is not limited to, blacking out, blurring, or digitally changing the background on the captured at least one digital image so that only the employee is seen in the captured at least one digital image, excluding any unauthorized object or individual that is present in the field of view.

In certain work-from-home or office situations, an employee could have access to computer applications that are necessary to service a client, and in the process would have access to sensitive information related to the customer-personal identifiable information (PII), credit score, bank information and other confidential information. However, not all sensitive information is needed by the employee in order to perform the tasks delegated to them. In order to address this security issue with respect to sensitive information, another aspect of the present invention provides a computer-implemented data masking method600including executable instructions205(FIG.2) programmed for execution in a computing environment for controlling the display of sensitive information in a remote/home work environment. Sensitive information can include, but is not limited to, personal identifiable information and/or confidential information. Personal identifiable information may include, but is not limited to, a name, social security number, mailing address, email address, or phone number. Confidential information may include, but is not limited to, credit card numbers, bank account numbers, and other payment information.

With reference toFIG.6, method600includes the step of providing a work computing device disposed in the remote/home or office work environment at step602. The work computing device may include a first memory, a first display, and a first processor for executing a web-based computer application accessible over a network. The web-based computer application may be a stand-alone computer application, or a software module that works in association with another software platform (e.g., client-based software platform), which is stored in, or be hosted by, a remote server or computing device over the network and configured to operate in association with a window that displays information contained in at least one data field on the display of the work computing device. At step604, method600further includes providing a first computing device in communication with the work computing device, wherein the first computing device includes a second memory for storing computer executable instructions that implements the present method. For example, the first computing device may be an administrative computing device, and for purposes of the following discussion, the first computing device will be hereinafter referred to as the administrative computing device. A second processor is further provided in the administrative computing device to execute the computer executable instructions to selectively designate at least one of the data fields as either a restricted data field or an unrestricted data field in step606. It should be understood that the above-referenced selective designation can comprise the selection of certain data fields as restricted, whereby the unselected data fields are automatically designated as unrestricted. Likewise, the selective designation can also comprise the selection of certain data fields as unrestricted, whereby the unselected data fields are automatically designated as restricted. Both of these alternatives are embodied within step604.

In accordance with this aspect of the invention, when at least one field is designated as a restricted field, and the web-based computer application or software platform is calling for the display of the sensitive information, method600moves to step608which includes masking all or a portion of (e.g., only show last four digits of credit card number) the information contained in the at least one data field so that the information is not viewable on the first display. It should be understood that masking includes but is not limited to redacting information for legal, security, or other purposes. For example, the masking function may take any desired form or function, such as, but not limited to, overlaying an opaque box (e.g., black box) on top of the information in the respective field, or it could be an operation where the information contained in the restricted field is replaced with a generic alpha/numeric character (e.g., X or *) as shown inFIG.8. This functionality will help prevent an employee from being able to view sensitive information when working from a home/remote or office work environment, particularly when the employee has no reason to view such information to perform his or her duties. Further, when the at least one field is designated as an unrestricted field in step606, method600further includes the step610of allowing the information contained in the at least one data field to be viewed on the first display of the work computing device. It should be noted that no alterations are required to the software platform or infrastructure within working computing device in order to implement the method of masking as described above.

Method600may further include optional step612which allows the work computing device to be used to selectively unmask one or more of the masked data fields so that the information contained in the data field to be displayed on the display of the work computing device. The selective unmasking can be achieved, for example, by using a user selection device (e.g., computer mouse) associated with the work computing device. When the work computing device is used to unmask one or more of the masked data fields, method600further includes communicating data to administrative computing device over the network associated with the unmasking, including, but not limited to, identifying the data field(s) that were selectively unmasked, the work computing device that was used to unmask the data field(s), and a time stamp associated with the selective unmasking at step614. This data communicated to administrative computing device may then be stored in memory214or remote server216so that the unmasking can be tracked and analyzed.

Method600may also optionally include the step616of allowing an authorized user with access to the work computing device upon input of approved access credentials by the authorized user, such as, but not limited to, a user name and password, biometrics, alpha-numerical code, etc. In other words, the work computing device is only permitted to be accessed if properly authorized credentials are authenticated by a corresponding authentication database that may be associated with the administrative computing device. In the case where credentials are used to provide access to the work computing device, the selective designation of the at least one data field as either the restricted data field or the unrestricted data field may be performed and associated with respect to the authorized user.

It is also contemplated that separate authentication credentials be provided for a plurality of authorized users in the authentication database where the selective designation of the at least one data field as either the restricted data field or the unrestricted data field is separately performed and associated with respect to each of the plurality of authorized users, as seen inFIG.7, for example. With reference toFIGS.7and8, for instance, authorized user2has certain permissions set, wherein Fields1,3and4have been designated as unrestricted, and Field2as restricted so these fields are redacted or masked so that the user of the work computing device cannot see the information contained in these fields. As seen inFIG.7, authorized users1and3have different permissions set by administrative computing device so the work computing device is permitted to display different information compared to authorized user2.

Now referring back toFIG.2, exemplary system200in whole or in part may be used to implement method600and other methods and aspects described herein. In particular, and as described above, system200is configured for controlling the display of sensitive information in home work environment206. For purposes of implementing method600, system200comprises work computing device202, which includes memory212, display218, and a processor for executing web-based computer application that is stored in memory214or remote server216and accessible over network210. As seen inFIG.8, a window800provided by a web-based computer application is configured to display information contained in at least one data field802,804,806,808on display218. It is also within the scope of the present invention to implement method600in regard to information that is displayed by a computer application that is stored and processed locally by work computing device202. The information displayed in web-based computer application800may include sensitive and non-sensitive information.

In implementing method600, system200may further include administrative computing device208that is in communication with work computing device202over network210. Administrative computing device208includes memory214for storing computer executable instructions for implementing method600, and a processor for performing the step606of selectively designating at least one of the data fields802,804,806,808as either a restricted data field or an unrestricted data field. It should be understood that the computer executable instructions for implementing method600could also be stored in server216. As indicated above, and with reference toFIGS.7and8, when at least one field802,806,808is designated as the restricted field, then the computer executable instructions operate to mask/redact at least a portion of the information contained in the at least one data field802,806,808so that the information is not viewable on display218. Alternatively, when a field804is designated as an unrestricted field, then the computer executable instructions operate to allow the information contained in the at least one data field to be viewed on display218.

System200may further include an authentication module226for providing one or more authorized users with access to work computing device202upon input of approved access credentials by the respective authorized user. Authentication module may be stored in memory212of work computing device202, memory214included in administrative computing device208, or server216. As referred to above with respect to method600, the computer executable instructions allow for the selective designation of at least one data field802,804,806,808being displayed by the web-based computer application as either the restricted data field or the unrestricted data field is performed and associated with respect to the authorized user. As such, the permissions provided with respect to each authorized user may be customized depending on the duties and tasks that the authorized user (e.g., employee) is responsible for and the corresponding information that is needed to perform those tasks. In other words, if a particular authorized user needs to know the name of the individual in order to provide a service that is requested, then the data field associated with the individual's name would be identified as, or left as, unrestricted, while the other data fields associated with other sensitive information would be designated as restricted so that the corresponding information is masked/redacted.

In certain situations, an employee working from home or the office could be using an employer-provided computing device or a personal computing device to access computer applications required to perform job duties. In either case, there is a possibility that the employee could be using a computer application that has not been authorized by the employer, perhaps using such an unauthorized computer application for an improper purpose. For example, an employee could be using a key logger or screen capture software application that records or captures every key stroke that the employee takes so that the information can later be used for an improper purpose. There is a need to monitor and ensure that only authorized computer applications are being used by the employee.

To that end, with reference toFIG.9, yet another aspect of the present invention provides a computer-implemented application monitoring method900including executable instructions207(FIG.2) programmed for execution in a computing environment for controlling the usage of one or more computer applications or websites (referred to below as, “computer applications”) on a work computing device located in a home or office work environment. When a user is using a computer in a location that is remote from a place of employment, it is difficult for the employer to monitor and control the computer applications that are used by the user, particularly when the user is using a personal computer to access the employer's computer systems through a network. Method900addresses this issue by identifying and/or tagging certain computer applications as being approved and/or prohibited, by the employer, identifying when a computer application is being opened by the user, and either allowing or prohibiting the use of such computer application depending on the approved/prohibited designation. An exemplary process of accomplishing this objective is set forth below.

As mentioned previously, the work computing device includes a memory, display, and processor for executing a first computer application including a first set of computer executable instructions. The method comprises providing an administrative computing device in communication with the work computing device over the network at step902. Further, the administrative computing device includes a memory having a database or other data structure stored therein that includes a list or other identification of one or more permitted computer applications and/or a list or other identification of one or more prohibited computer applications. The memory of the administrative computing device also includes a second computer application including a second set of computer executable instructions stored therein. Utilizing the second set of computer executable instructions, method900is configured for selectively associating the first computer application with either the list of permitted computer applications or the list of prohibited computer applications at step904. Further, the lists of permitted and/or prohibited computer applications may be synced to the work computing device and locally stored in the memory of the working computing device. At step906, the second set of computer executable instructions is configured to determine that the first processor of the work computing device has been instructed to execute the first computer application. For example, the second set of computer executable instructions can operate to continuously or intermittently scan all of the running applications on the random access memory (RAM), and the websites that are being launched, on the work computing device at a predetermined time interval to determine if the processor of the work computing device has been instructed to execute the first computer application. Once it is determined that the work computing device the first computer application has been launched or is running, then the second set of computer executable instructions is configured to determine whether the first application is associated with either the list of permitted computer applications or the list of prohibited computer applications by comparing the launched or running application with at least one of the aforementioned permitted or prohibited lists at step908. Upon determining that the first computer application is associated with the list of permitted computer applications, the second computer executable instructions are configured to allow the processor of the work computing device to execute the first set of executable instructions at step910. Further, upon determining that the first computer application is associated with the list of prohibited computer applications, the second computer executable instructions are configured to prevent the processor of the remote computing service from executing the first set of executable instructions at step912. In addition, a notification may be communicated to administrative computing device over the network at step914if it is determined that the first computer application is associated with the list of prohibited computer applications. The notification can include any type of text-based message, graphical message, sound or visual (e.g., light) alert indicating that an attempt is being made to run a prohibited computer application on the work computing device.

Referring toFIG.2, exemplary system200in whole or in part in may be used to implement method900, and other methods described herein, to control the usage of one or more computer applications in a remote/home or office work environment. For the purpose of implementing method900, system200comprise administrative computing device208, which includes a processor and memory214having a database or other data structure stored therein that includes the list or other identification of one or more permitted computer applications and/or the list or other identification of one or more prohibited computer applications as previously described. Memory214also includes a monitoring computer application including a set of computer executable instructions which will be described in more detail below. It should be understood that the above-referenced items, including the database and/or monitoring computer application, may be alternatively or additionally stored in server216and/or locally in work computing device202. System200further comprises work computing device202having memory212, display218, and a processor for executing a target computer application including a set of computer executable instructions. The monitoring computer application is configured to allow for the selective association of the computer application stored in memory212with either the list of permitted computer applications or the list of prohibited computer applications. If the monitoring computer application detects, identifies, or receives a notification or communication that the processor of work computing device202is going to run (or has started running) the target computer application, then a determination is made by the monitoring computer application whether the target application is associated with the list of permitted or prohibited computer applications. If the target computer application is associated with the list of permitted computer applications, then the monitoring computer application allows the processor of work computing device202to run the target computer application in the manner described above with respect to method900. Alternatively, if the target computer application is associated with the list of prohibited computer applications, then the monitoring computer application prevents the processor of work computing device202from running the target computer application in the manner described above with respect to method900.

In another aspect, it should be understood that the methods set forth above may be embodied in computer readable instructions stored on a non-transitory computer readable medium.

Having described the system and method of the present invention and an embodiment thereof, an exemplary computer environment for implementing the described design and execution is presented next.

FIG.10shows an exemplary computing environment1000that can be used to implement any of the processing thus far described. Computing environment1000may include one or more computers1012(such as work computing device202,202a,202b, administrative computing device208, server216) comprising a system bus1024that couples a video interface1026, network interface1028, a keyboard/mouse interface1034, and a system memory1036(e.g., memory212,214,216) to a Central Processing Unit (CPU)1038. A display1040(e.g., display218) is connected to bus1024by video interface1026and provides the user with a graphical user interface to view digital images/videos223,223a, window800, data fields802,804,806,808, notifications, alerts, and lists of permitted/prohibited applications. The graphical user interface allows the user to enter commands and information into computer1012using a keyboard1041and a user interface selection device1043, such as a mouse, touch screen, or other pointing device. Keyboard1041and user interface selection device1043may be connected to bus1024through keyboard/mouse interface1034. The display1040and user interface selection device1043are used in combination to form the graphical user interface which allows the user to implement at least a portion of the present invention. Other peripheral devices may be connected to the remote computer through universal serial bus (USB) drives1045to transfer information to and from computer1012. For example, cameras and camcorders may be connected to computer1012through serial port1032or USB drives1045so that digital images/videos223,223amay be captured and displayed on display1040, downloaded to system memory214,216or another memory storage device associated with computer1012.

The system memory1036(e.g., memory212,214,216) is also connected to bus1024and may include read only memory (ROM), random access memory (RAM), an operating system1044, a basic input/output system (BIOS)1046, application programs1048and program data1050. The computer1012may further include a hard disk drive1052for reading from and writing to a hard disk, a magnetic disk drive1054for reading from and writing to a removable magnetic disk (e.g., floppy disk), and an optical disk drive1056for reading from and writing to a removable optical disk (e.g., CD ROM or other optical media). The computer1012may also include USB drives1045and other types of drives for reading from and writing to flash memory devices (e.g., compact flash, memory stick/PRO and DUO, SD card, multimedia card, smart media xD card), and a scanner1058for scanning items to computer1012. A hard disk drive interface1052a, magnetic disk drive interface1054a, an optical drive interface1056a, a USB drive interface1045a, and a scanner interface1058aoperate to connect bus1024to hard disk drive1052, magnetic disk drive1054, optical disk drive1056, USB drive1045and scanner1058, respectively. Each of these drive components and their associated computer-readable media may provide computer1012with non-volatile storage of computer-readable instruction, program modules, data structures, application programs, an operating system, and other data for computer1012. In addition, it will be understood that computer1012may also utilize other types of computer-readable media in addition to those types set forth herein, such as digital video disks, random access memory, read only memory, other types of flash memory cards, magnetic cassettes, and the like.

Computer1012may operate in a networked environment using logical connections with each of the system components described above. Network interface1028provides a communication path1060between bus1024and network210, which allows, for example, digital images/video223,223a, notifications, alerts, data masking instructions, and other information to be communicated through network210between the respective components of system200. This type of logical network connection is commonly used in conjunction with a local area network (LAN). These items may also be communicated from bus1024through a communication path1062to network210using serial port1032and a modem1064. Using a modem connection between the computer1012and the other components of system200is commonly used in conjunction with a wide area network (WAN). It will be appreciated that the network connections shown herein are merely exemplary, and it is within the scope of the present invention to use other types of network connections between computer1012and the other components of system200including both wired and wireless connections.

In utilizing the system and method in accordance with the present invention, numerous advantages are realized. For example, in order to control the unauthorized disclosure of information displayed by the work computing device in a remote/home or office work environment, the present system and method provides for real-time monitoring using computer vision to ensure that the administrative computing device is notified if an unauthorized object or user is detected or identified in the field of view of the display of the work computing device, and optionally preventing the work computing device from being used. Further control of the disclosure of information displayed on the work computing device is accomplished by selectively masking sensitive information disposed in one or more data fields on the display of the work computing device, wherein the selection of the one or more data fields to be masked can be provided by the administrative computing device. In order to further control the use of the work computing device in the remote/home or office work environment, the system and method may further provide the ability to only allow computer applications to be used on the work computing device that is provided on an authorized list of computer applications, and/or prevent those computer applications that are provided on the list of prohibited computer applications.

From the foregoing, it will be seen that this invention is one well adapted to attain all the ends and objects hereinabove set forth together with other advantages which are obvious and which are inherent to the method and apparatus. It will be understood that certain features and sub combinations are of utility and may be employed without reference to other features and sub combinations. This is contemplated by and is within the scope of the claims. Since many possible embodiments of the invention may be made without departing from the scope thereof, it is also to be understood that all matters herein set forth or shown in the accompanying drawings are to be interpreted as illustrative and not limiting.

The constructions described above and illustrated in the drawings are presented by way of example only and are not intended to limit the concepts and principles of the present invention. As used herein, the terms “having” and/or “including” and other terms of inclusion are terms indicative of inclusion rather than requirement.

While the invention has been described with reference to preferred embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof to adapt to particular situations without departing from the scope of the invention. Therefore, it is intended that the invention not be limited to the particular embodiments disclosed as the best mode contemplated for carrying out this invention, but that the invention will include all embodiments falling within the scope and spirit of the appended claims.