U.S. patent application number 11/450875 was filed with the patent office on 2006-12-21 for virtual office environment.
This patent application is currently assigned to ODESK CORPORATION. Invention is credited to Stratis Karamanlakis, Odysseas Tsatalos.
Application Number | 20060284838 11/450875 |
Document ID | / |
Family ID | 37532865 |
Filed Date | 2006-12-21 |
United States Patent
Application |
20060284838 |
Kind Code |
A1 |
Tsatalos; Odysseas ; et
al. |
December 21, 2006 |
Virtual office environment
Abstract
A system and method for monitoring remote employees, having a
computer for a user perform job related tasks, wherein the computer
is enabled to record various data regarding the user's use of the
computer; and a network to transmit the various data to a storage
unit, to allow the data to be accessed by an employer,
Inventors: |
Tsatalos; Odysseas; (San
Jose, CA) ; Karamanlakis; Stratis; (Zografos,
GR) |
Correspondence
Address: |
MORRISON & FOERSTER LLP
1650 TYSONS BOULEVARD
SUITE 300
MCLEAN
VA
22102
US
|
Assignee: |
ODESK CORPORATION
Sunnyvale
CA
|
Family ID: |
37532865 |
Appl. No.: |
11/450875 |
Filed: |
June 12, 2006 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
60689109 |
Jun 10, 2005 |
|
|
|
Current U.S.
Class: |
345/156 |
Current CPC
Class: |
G06Q 10/0637 20130101;
G06Q 10/06311 20130101; G06F 3/1454 20130101; G06Q 10/0639
20130101; G06Q 10/10 20130101 |
Class at
Publication: |
345/156 |
International
Class: |
G09G 5/00 20060101
G09G005/00 |
Claims
1. A system for monitoring remote employees, comprising: a computer
for a user perform job related tasks, wherein the computer is
enabled to record various data regarding the user's use of the
computer; and a network to transmit the various data to a storage
unit, to allow the data to be accessed by an employer.
2. The system of claim 1, wherein the employer accesses the data
remotely.
3. The system of claim 1, wherein the data comprises a recording of
keystrokes
4. The system of claim 1, wherein the data comprises a recording of
mouse clicks.
5. The system of claim 1, wherein the data comprises a recording of
video recording of the user.
6. The system of claim 1, wherein the data comprises a recording of
still images of the user.
7. The system of claim 1, wherein the data comprises a recording of
video recording of screen images.
8. The system of claim 1, wherein the data comprises a recording of
still image screen captures.
9. The system of claim 1, wherein the data comprises a recording of
keystrokes, mouseclicks, video recordings of the user and video
recordings of screen images.
10. The system of claim 1, wherein the data comprises a recording
of keystrokes, mouseclicks, still images of the user and still
image screen captures.
11. The system of claim 1, wherein the data is recorded according
to an algorithm.
12. The system of claim 1, wherein the data constantly
recorded.
13. The system of claim 1, wherein the data is recorded at
predetermined intervals.
14. The system of claim 1, wherein the user can edit the stored
data before it is transmitted to the network.
15. The system of claim 1, wherein the data is protected at the
computer such that it can not be manipulated by the user.
16. The system of claim 1, wherein the user can manually disable
the recording of data.
17. The system of claim 1, wherein the data is used to determine an
activity level of the user.
18. The system of claim 1, wherein the data is used to determine
the efficiency of the user.
19. A method of matching service buyers with qualified service
providers, using the system of claim 1, comprising: storing the
data for a plurality of users; storing qualifications of each of
the plurality of users; analyzing the stored qualifications and
data for each of the plurality of users to determine which of the
users are qualified to perform a proposed task; selecting at least
one user from among the qualified users based on the stored data;
assigning a task to the at least one selected user.
20. The method of claim 19, further comprising analyzing the data
to determine an efficiency of the users.
21. The method of claim 19, further comprising analyzing the data
to determine an activity level of the users.
22. The method of claim 19, further comprising capturing additional
task related data for each selected user to determine a
productivity of the selected user.
23. The method of claim 22, further comprising storing the task
related data.
24. The method of claim 23, further comprising compensating each
selected user according to the stored task related data.
25. A method for monitoring remote employees, comprising: recording
various data associated with a user's use of a computer in
performing job related tasks; transmitting the various data over a
network; storing the data in a data storage unit; accessing the
stored data to determine a productivity of the user.
26. The method of claim 25, further comprising: analyzing the
stored data of a plurality of users; and assigning tasks to at
least one of the plurality of users based on results of the
analysis.
27. The method of claim 26, further comprising, recording task
related data associated with the assigned user's performance of the
assigned task; analyzing the task related data; and compensating a
user based on the results of the analysis.
28. The method of claim 27, wherein the task related data is
analyzed to determine productivity of the user.
29. The method of claim 25, further comprising: storing
qualifications of a plurality of users; analyzing the stored data
of a plurality of users; and assigning tasks to at least one of the
plurality of users based on results of the analysis and the
qualifications of the plurality of users.
30. The method of claim 29, further comprising, recording task
related data associated with the assigned user's performance of the
assigned task; analyzing the task related data; and compensating a
user based on the results of the analysis.
31. The method of claim 30, wherein the task related data is
analyzed to determine productivity of the user.
Description
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims the benefit of U.S. Provisional
Application Ser. No. 60/689,109, filed Jun. 10, 2005.
FIELD OF THE INVENTION
[0002] This invention relates generally to methods and systems for
creating and monitoring a networked virtual office environment.
BACKGROUND
[0003] Currently existing computer applications can be used for
monitoring user activities such as reading mail written by a user,
viewing web sites visited by a user, monitoring programs used by a
user, recording a user's keystrokes, logging inactivity timeouts,
saving activity logs, logging both sides of chat and instant
message conversations for various messengers, recording changes
made to a hard drive, storing lists of created files and
directories, storing lists of deleted files and directories, and
capturing information through screen shots. Existing applications
also provide access to remote computers and allow administrators to
shut down, restart, logoff, message or freeze a single user or all
users on a network.
[0004] These known applications have limitations such as
automatically suspending an application from monitoring the
computer if the computer is inactive for a specified amount of
time, only monitoring activities of a slave computer, and not
remotely viewing the archived information or statistics.
SUMMARY OF THE INVENTION
[0005] Known systems do not provide a integrated environment in
which to a) select and identify potential workers, b) analyze and
review historical user activity or data logs of monitored worker
activity and provide productivity analysis, and c) effect payment
of those workers. It has been determined that a system capable of
performing such functions would be a significant improvement in
that such a system could reduce associated costs while improving
the usefulness and reliability of the system.
BRIEF DESCRIPTION OF THE DRAWINGS
[0006] The accompanying figures together with the detailed
description below are incorporated in and form part of the
specification, serve to further illustrate various embodiments and
to explain various principles and advantages all in accordance with
the present invention, and should not be construed to limit the
invention.
[0007] FIG. 1 illustrates an embodiment for recording,
transmitting, analyzing, archiving, and providing user activity
data.
[0008] FIG. 2 illustrates an embodiment for recording or monitoring
user activity.
[0009] FIG. 3 illustrates an embodiment for recording user activity
at different time intervals or points in time.
[0010] FIG. 4 illustrates an embodiment for analyzing recorded user
activity during a particular period.
[0011] FIG. 5 illustrates an embodiment for analyzing recorded user
activity for more than one user during a particular period.
[0012] FIG. 6 illustrates an embodiment for displaying recorded
user activity for a particular period.
[0013] FIG. 7 illustrates an embodiment for networking in a virtual
office environment.
[0014] FIG. 8 illustrates an embodiment including various
components for recording and storing user activity.
[0015] FIG. 9 illustrates an exemplary console view of a team.
[0016] FIGS. 10A-C illustrate an exemplary process for hiring
workers.
[0017] FIGS. 11A-C illustrate an exemplary process for managing
workers.
[0018] FIGS. 12A-B illustrate an exemplary process for paying
workers.
[0019] FIG. 13 illustrates an exemplary network architecture.
DETAILED DESCRIPTION
[0020] The following description sets forth numerous specific
configurations, parameters, and the like. It should be recognized,
however, that such description is not intended as a limitation on
the scope of the present invention, but is instead provided as a
description of exemplary embodiments.
[0021] The embodiments described herein are directed to methods and
systems for creating a virtual office environment for assessing a
remote user's or worker's productivity by connecting through a
network. These embodiments can provide direct, cost-effective
access to a global inventory of remote, knowledge workers by
providing convenient execution of the steps of hiring, managing,
and paying.
[0022] In one embodiment of the invention, a system allows a
manager to build a qualified pool of skilled and knowledgeable
workers regardless of where the workers are located. In one aspect
of the invention, the pool of workers comprises workers located in
several diverse regions of the world. By selecting workers from a
pool that is not geographically restricted, an employer is able to
be much more selective of the employees that it chooses to hire.
The selections may be made based on at least the qualifications of
candidates and/or the cost associated with the candidates. The
costs associated with hiring employees may vary greatly depending
on where the potential employees are located geographically.
According to a further aspect of the invention, a list of
candidates may be recommended by the system, and the recommended
candidates may then be accessed such that employees may optionally
be hired there from. An exemplary embodiment showing at least these
features is illustrated in FIGS. 10A-C.
[0023] According to further embodiments of the invention, direct
access to and management of a pool of workers can be provided via a
proprietary or standards-based platform for worker management, time
and billing, collaboration, and communications. FIG. 9 depicts an
exemplary console view showing a team of workers. An exemplary
embodiment depicting a system having at least these features is
illustrated in FIGS. 11A-C. The system may include: an
authenticated login to make a worker visible to a manager, tracking
work hours performed for automatic time and billing, creation of a
context-full archive of past work for auditing purposes, providing
to a manager a real-time view of at least one worker on a team,
and/or providing real-time productivity reports across time for at
least one worker or team.
[0024] According to further embodiments of the invention, payment
can be made from an employer to an employee/worker for each hour
worked, based on auditable timelogs. An exemplary embodiment of
such an embodiment is illustrated in FIGS. 12A-B. A further
embodiment of the invention can include creation of time-log
invoices with drill-downs into actual work performed and a payment
infrastructure for reaching local, regional, national or
international workers. By using a system incorporating these
features an employer can be charged for services in real time as
they are being performed, and workers can receive compensation for
their efforts on a similarly timely schedule.
[0025] By compensating employees in this manner, both the employers
and the employees can minimize the lag times that are often
associated with contract work. For example, employees will no
longer have to wait until the conclusion of a job to receive
compensation as happens in some systems. On the other hand,
employers can avoid having to make lump sum payments at the
beginning or end of a contract. As an additional benefit, an
embodiment of the invention using this system can avoid a potential
loss of money due to fraud and/or poor employee performance. By
only compensating employees for work which has been tracked and
verified, an employer can avoid paying for work which was not done,
the employer can also identify poor employees quickly by looking
for employees who do not produce quickly enough. If such
non-efficient employees are discovered and terminated quickly, an
employer may be able to save a considerable amount of money as
compared to a situation where employees are only held accountable
on a bi-weekly or monthly basis.
[0026] In various embodiments of the invention, the above features
can be provided through an integrated communication, collaboration
and development environment. In such an environment, a user can
have access to a team's shared collaboration and/or development
environment. In some embodiments of the environment, synchronous
chat, voice, or video communication links can be established
between a worker, manager, and co-worker.
[0027] An exemplary embodiment (100) is shown in FIG. 1. This
embodiment includes recording user activity data (105). User
activity data may be recorded through the use of one or more
configurable system conduits. User activity can be recorded using
recorder software installed on a user computer.
[0028] Various forms of user activity can be recorded and stored as
user activity data. Examples of user activity data may include, but
are not limited to, data input to a user computer by a user or
another device in communication with a user computer or execution
of any process, routine or function on the user computer called by
any of the user, an operating system and/or another process. The
recorded user activity can include user activity data having a
series of steps such as providing an input data to a user computer
or running any one of various functions and/or procedures. The
configurable system conduits can perform the steps of defining the
user activity to be captured, tracking the user activity, defining
a time period during which the user activity is to be captured, and
defining a mode of access to the analyzed user activity data.
[0029] User activity data can include one or more keyboard strokes
and/or mouse clicks. Image and/or audio input from a camera located
proximate to the user can also be recorded. User activity can also
include the running of a system function on the user computer,
monitoring one or more active windows and the active running time
of the active windows.
[0030] The tracking or recording of user activity can be based on a
definition of the user activity to be captured, a time span during
which the user activity is to be captured, or the mode used to
access the analyzed user activity data. An interface of one
exemplary embodiment is shown in FIG. 2. In this embodiment (200),
screen images are shown from two users, "andrew" (205) and "sandy"
(210). In another exemplary embodiment (300) shown in FIG. 3, a
user activity is seen to be carried out by a user at different time
intervals.
[0031] In some embodiments of the invention, a project manager or
other individual may define conduits based on the remote team's
tasks or activities performed by the remote team. The step of
defining a mode of access to the analyzed user activity data of the
configurable system conduits can further comprise steps of defining
a workspace for a plurality of the user computers. Defining the
workspace can include configuring one or more permissions for
access to analyzed user activity data. In some embodiments, access
permissions to recorded conduits can be configured based on a
grouping so that they can be presented to a manager as a unified
workspace. A workspace can have one or more modes of operation, and
one or more of those modes may be associated with different access
permissions.
[0032] Some embodiments can further comprise transmitting recorded
user activity data (110), analyzing recorded user activity data
(115), archiving the user activity data (120), and making user
activity data available to another party. The data archived can
either be in a raw form or the data archived can be an analysis or
distillation of user activity. The archived data can be stored in a
central repository or at one or more distributed repositories. The
raw or analyzed user activity data can be made available (125) to
one or more requesters through server software over a
communications channel using a standard browser application. In
other embodiments, a proprietary or custom client can be used to
access the user activity data through a browser or independently of
a browser. In some embodiments, a manager can review archived data
using a web-based graphical user interface. The system described
herein can be configured to store and retrieve user data for
variable user or manager-defined periods.
[0033] As shown in FIG. 1, some embodiments can include
transmitting the recorded user activity data (110). In some such
embodiments, recorded user activity data can be transmitted using
the Hypertext Transfer Protocol over Secure Socket Layer (HTTP over
SSL) protocol over Transmission Control Protocol/Internet Protocol
(TCP/IP) to a server computer. Other mechanisms and methods for
transmission are possible. This server computer can be accessed by
a project manager. Some embodiments can also include the step of
analyzing the recorded user activity data (115) using one or more
management tools.
[0034] In one exemplary embodiment shown in FIG. 4, a browser
window (400) presents an analysis of user activity (405). As a
non-limiting example, it can be seen that browser window (400)
illustrates an analysis of activities by a user "andrew" during the
month of June.
[0035] In another exemplary embodiment shown in FIG. 5, a browser
window (500) presents analysis of user activity by users "andrew"
(505) and "ash" (510) during the month of June.
[0036] In another exemplary embodiment shown in FIG. 6, a browser
window (600) presents archived user activity data for a particular
time period.
[0037] An exemplary network architecture (700) of one embodiment is
shown in FIG. 7. The illustrated embodiment can include recorder
software installed on one or more user computers (705). The one or
more user computers (705) can be in communication with server
software on a one or more server computers (715) through the
Internet (710). The recorder software and one or more configurable
conduits can be configured to record user activity data that can
then be transmitted to one or more servers (715). The one or more
server computers (715) can be configured to be in communication
with one or more management tools for analyzing user activity data
and storing the raw or analyzed user activity data in a central or
distributed repository. The one or more repositories can be in
communication with one or more requestors (720) to make the user
activity data available.
[0038] Another exemplary embodiment is shown in FIG. 8. This
embodiment (800) includes a recorder in communication with a
server. The embodiment (800) illustrates various modules of the
recorder (805) including a conduits module (806) and an
authentication and communications module (807). The conduits module
(806) can further include a configuring and scheduling module. The
configuring and schedule module can be configured to control
recording of one or more of keyboard strokes, mouse clicks, camera
stills or videos, or other user activities including task
descriptions, user comments, client information and process logs,
assessments of active windows and active run times for active
windows.
[0039] In some embodiments, an authentication and communications
module (807) can include a configurable system conduit that can
comprise a system to configure the user activity that needs to be
captured, a system to record the user activity, a system to
configure a time period during which the user activity needs to be
captured, a system to configure a mode of access to the analyzed
user activity data. The mode of access to the analyzed user
activity data can further comprise a system to configure a
workspace for one or more user computers. The workspace can further
comprise a system to configure selective permissions for the user
computers to access the analyzed user activity data.
[0040] The exemplary embodiment of FIG. 8 can also include a
recorder tier module (816), a presentation tier module (817), a
data tier module (818) and an authentication and communications
tier module (819). The recorder tier module (816) can be used to
analyze the user activity data. The presentation tier module (817)
can be used to store the user activity data in one or more
patterns. The data tier module (819) can be used to archive the
recorded user activity data in one or more patterns in a central
repository. A central repository (818) in communication with one or
more requesters via the authentication and communications tier
module (819) can be configured to provide user activity data to the
requester. While FIG. 8 illustrates a central repository (818), one
of ordinary skill in the art would recognize that distributed
repositories could be used without departing from the spirit and
scope of this disclosure.
[0041] The embodiment shown in FIG. 8 further illustrates a
browser. In some embodiments, the browser can be used to review
recorded data and to administer a server. One of ordinary skill in
the art would recognize any web browser or communication client can
be used.
[0042] Further embodiments of the invention may include the use of
a virtual cubicle, wherein the virtual cubicle may be a software
service comprising client software running on a user's computer and
a server software hosted by a server computer that communicates
with the client to provide a web accessible view of the user's
computer activity while in the cubicle.]
[0043] Using such a system is beneficial in that it provides a
user-controlled, always-on, bandwidth-efficient "videotaping" of
the virtual cubicle. The use of the terms "videotaping" or
"videotape" herein will be understood by one of ordinary skill in
the art to include any form of image capture and storage of the
same in any format available; the terms are not limited to systems
using a tape based recording system. Nor are the terms limited to
full motion video systems. In various embodiments of the invention,
the videotapes may include images associated with a user's most
recently active desktop, a webcam video image or image stream, an
application accessed or worked on by a user, keyboard and/or mouse
activity and/or idleness, as well as any other image that might be
helpful in allowing an employer to monitor the quality and/or
quantity of the work being performed.
[0044] In further embodiments of the invention, an occupant of a
virtual cubicle is able to control of the "videotaping" of the
virtual cubicle. By allowing the user to control the monitoring of
the virtual cubicle, the user is provided with the ability to have
privacy breaks, for personal or other reasons. By being able to
control the monitoring a user can also guarantee that no
information is communicated while in such a privacy mode. This will
allow users to feel much more comfortable in using a system in
which they are being monitored while working.
[0045] In a further embodiment of the invention, a user can
retroactively remove previously captured images, thereby protecting
private time that was mistakenly captured.
[0046] In a further embodiment of the invention, a user can select
a "teamroom" that his cubicle is associated with, thereby enabling
him to work for multiple employers switching between them as needed
such that each employer only has access to the images recorded
while the cubicle was part of that employer's teamroom.
[0047] In a further embodiment of the invention, a user can create
a customer memo which describes the activity being performed while
a particular image or set of images was recorded. In some aspects
of the invention, the user can create the customer memo in real
time or he can retroactively associate the memo with the recorded
image or images. In another embodiment of the invention, the user
may create one or more tags which characterize an activity being
performed, and these tags may be associated with the captured
images. In some systems a manager of the virtual cubicle system may
be able to add additional memos or tags to the images.
[0048] In further embodiments of the invention, a manager of the
virtual cubicle system may record all of the data captured by a
monitoring system such that the user is not able to change or
access this data. In some instances the user may be able to delete
the information available to a client, but not the information
available to the manager. This may allow the manager to
independently evaluate the user's efficiency and or the accuracy of
the data should it later come into question. It is not always
necessary to inform the user that the manager is recording or
saving additional data.
[0049] In a further embodiment of the invention, the "videotape"
may be created using a sampling algorithm that takes full
resolution (lossless) random snapshots of a user's screen in low
frequency (perhaps, approximately once every few minutes), and then
applies multiple compression algorithms (such as jpeg for screens
with lots of images, png for screens covered mostly with windows
and text or delta-based during times of low screen activity where
the delta of the screen from the last snapshot made is used). In a
further embodiment of the invention, the compression method to be
used may be selected on the fly. Higher frequency low resolution
screenshots of both the screen and the webcam can be taken to
provide a simulated near-real-time experience.
[0050] In a further embodiment of the invention, if the user uses
multiple computers, the monitoring software may be able to "follow"
the user automatically, making sure that the recorded data reflects
the computer that the person is working on during the recording of
the data.
[0051] In a further embodiment of the invention, if a user uses one
computer with multiple monitors the software may be capable of
either "following" the user to the monitor what he is more actively
working on or take a snapshot of all monitors following the
geometry used by the individual to setup the multiple monitors.
[0052] In a further embodiment of the invention, the videotape may
be made "tamper-proof" while providing full control of the "taping"
to the user. In an exemplary system, this may be done by using
"time slot" based capturing (e.g. 10:00:00-10:09:59,
10:10:00-10:19:59 . . . ), which guarantees that at least one
random slot in each timeslot (slot by slot re-play/display across
multiple virtual cubicles may be enabled). Using such a system a
user logging in at 10:08:00 has only 20% chance of getting that
slot "10:00:00-10:09:59."
[0053] Using such a system provides additional advantages in that
even though a user is aware (after the fact) of the capture and can
delete the capture if they want or logout right after a capture
such actions cannot influence the resulting tape to create a
statistically unfair view of the person's work. For example, if the
person worked 40 hours during a week and spent 30% of his time in
non-work related activities, the person cannot influence the system
to create more than 28 hours of captured work in that week.
[0054] A further embodiment of the invention may use an algorithm
to ensure that the tape is not altered. Such an algorithm may
include: determining a random value (for example, 1-600)
immediately following an image capture to determine the time of the
next capture.
[0055] In a further embodiment of the invention, if multiple random
captures are taken for a particular slot, one of the captures can
be chosen for display after the end of the slot.
[0056] Additional protection of the integrity of the system can be
achieved by allowing a user to delete only an entire slot and not
individual contents of the slot. That way, a user will not be able
to selectively manipulate the data to make himself appear more
productive than he actually was.
[0057] A further embodiment of the invention may include the use of
a "screensnap" as a way to capture data associated with a user. A
screensnap may include, but is not limited to, a capture of
keystroke count, mouse click count, the name of the topmost
application, the title of the topmost window, a process list,
and/or unique computer identification info such as guid or
versions, for example. The screensnaps may be taken at a regular
interval, for example, every minute, or they can be taken randomly
or according to an algorithm as detailed above.
[0058] A further embodiment of the invention may include capturing
additional screensnaps of specific events. These events may be
events that are predetermined to be significant, such as when a
user: logs in, logs out, switches from an idle to active mode, or
switches to a specific application.
[0059] In a further embodiment of the invention, the system may
also capture additional information such as a map of keyboard and
mouse click counts as a measure of user activity, a percent of a
time-slot in which mouse of keyboard activity was occurring.
[0060] In a further embodiment of the invention, the recording,
transmitting and/or storing of data related to a user is done in a
bandwidth and CPU efficient manner such that the data monitoring
can be used continuously, or "always on," without having a
perceived negative effect by the user, employer or system manager.
Also the recording, transmitting and/or storing of data is done is
such a way as not to affect the performance of the computers being
utilized. In a further embodiment of the invention, the software
associated with the system may be operable on all known or
developed operating systems. In a further embodiment of the
invention, it is possible for the system to lower the portion of
the bandwidth being used by throttling down the bandwidth. In one
embodiment of the invention, a user or other individual may specify
the portion of the available bandwidth that is to be dedicated to
the monitoring system, and the system may then automatically adjust
various parameters of the monitoring such that the specified
bandwidth is not exceeded. A user, for example, may specify the
portion of the bandwidth as a percentage of the available bandwidth
or as an amount of bandwidth. In one aspect of the invention, the
system is able function using only a small amount of upstream
bandwidth, such that a 28.8 kbs modem is adequate.
[0061] Another embodiment of the invention uses only HTTP traffic
such that it can work behind any firewalls including proxies.
According to yet another embodiment of the invention, the amount of
storage required for storing a year's worth of tape is small that
the system is designed to store all of the old data rather than
being forced to delete it.
[0062] Because it is recognized that network connectivity is not
always ideal and that user's in remote geographical locations may
not have access to stable network connections, a further embodiment
of the invention is designed to operate in cases where network
connectivity is not reliable. To accommodate an unreliable network,
when there is no internet connectivity the software may
automatically switch to "offline mode." A switch to an off-line
mode may be transparent to the user, such that from the perspective
of the user, complete functionality is available in offline mode.
While in the off-line mode, data continues to be captured in the
same way as it was in an on-line mode; user's are still able to
add/change memos, switch teamrooms, logout and/or login. When a
connection is re-established, the system may automatically upload
the accumulated data. According to various embodiments of the
invention, the upload of data may be done in many ways, for example
asynchronously over a period of time or in batches, such that even
a brief window of connectivity can be used to transfer data. By
transferring data in these various ways, a swamping the user's
bandwidth is prevented. In order to prevent a user from tampering
with data that has yet to be transmitted, the system may encrypt
the data on the user's machine. According to a further embodiment
of the invention, a user can be given manual control of the
uploading of data. This may allow the user to more effectively use
the bandwidth available to him.
[0063] According to a further embodiment of the invention, a system
is provided which makes the recorded data available in real time.
The data may also be organized historically to allow for efficient
review of specific date or time periods. The data may be made
available to the user, an employer or the system manager, and may
also be viewed using the teamroom system previously detailed.
[0064] According to a further embodiment of the invention,
teamrooms are provided which efficiently display a multitude of
virtual cubicles. The teamrooms may be refreshed dynamically. A
user browsing a teamroom may zoom into any of the virtual cubicle.
Zooming in, may be done using a single mouse click or keystroke,
and may be used to view the most recently snapped full size
screenshot or streaming video. The teamroom system may also allow a
user to take a snapshot of a current screen of any of the virtual
cubicles. The teamroom system may also allow a user to switch to a
"live mode" which may initiate and/or display a previously
initiated real time screen-capture. A user may be able to terminate
or deny the initiation of a real time monitoring.
[0065] According to a further embodiment of the invention, a date
or calendar based historical review is enabled to allow a user to
browse the data, possibly including snapshots, by date or time.
Furthermore, a tagging mechanism may be enabled to allow searching
of stored data for any data associated with a particular tag as
described above.
[0066] According to a further embodiment of the invention, a system
may enable displaying multiple user screens over a given time
period to allow a comparison between the users. Also, the system
may enable the display of a graph that displays an activity measure
of at least one of the users over a specific time span, for example
the past 24 hours. A display may also include a depiction of the
local and remote time of day for that corresponds to each of the
users and/or the team room. This display may appear in a calendar
view as well. According to a further embodiment of the invention, a
customizable (inlaid or fully blown) display of the webcam on top
of the screenshot may also be enabled.
[0067] According to a further embodiment of the invention, a system
may be enabled to analyze and provide reporting data related to
archived activities. Such data may be presented in various formats,
for example by group or by time (day/week/month). To enhance the
usefulness of the data, it may be filtered according to various
properties, for example: no filtering (showing all of the data);
showing only active users; showing idle users; showing data for
users having at least a predetermined level of activity; showing
data for users having less than a predetermined level of activity;
and/or filtering by tags associated with the data. According to a
further embodiment of the invention, data can be compared across
multiple virtual cubicles.
[0068] According to a further embodiment of the invention, a system
may enable text searching of archived data. This may be coupled
with, or enabled by, applying character recognition (OCR) to
captured screens; using installed fonts to fine tune an OCR
algorithm; adjusting for font aliasing, such as underlining;
producing and archiving OCR-generated text from selected screen
shots, or all screen shots; keyword searching of part or all of the
stored data; or advanced searching, including field matching
against screenshot metadata, for example title, application,
activity measure, etc.
[0069] According to a further embodiment of the invention, the
integrity of the data is ensured by performing fraud pattern
detection heuristics on the captured data. This protection may
include detecting repetitive patterns or keyboard or mouse activity
not resulting in a screen change. Comparing the metrics of various
aspects of an activity profile against a team or an average of all
virtual cubicle occupants may also be performed.
[0070] According to a further embodiment of the invention, a system
is provided that allows a teamroom manager to arrange users and
supervisors such that a user can have one or more supervisors, a
supervisor may supervise any number of users an a user may belong
to a department.
[0071] According to a further embodiment of the invention, a system
is provided that allows a teamroom manager to customize a privacy
functionality of a virtual cubicle. The customization may include
allowing the manager to create "custom cubicles" (e.g. war-rooms,
cubicles with glass doors, cubicles with no doors, cubicles with
doors having a bell, etc.), wherein the cubicle descriptions are
intended to describe a functionality of the virtual cubicles by
relating them to real cubicles, rather than to limit the actual
virtual cubicles. These custom cubicles may have multiple custom
privacy modes. The supervisor may assign specific cubicle types to
individual users or on a group or class-wide basis. The cubicle
occupants may be allowed to switch to one of a plurality of privacy
modes, for example an open or closed door cubicle.
[0072] According to a further embodiment of the invention, each
privacy mode defines who may access what information while a
virtual cubicle is in that mode. For example, the mode may
determine which capturing devices are enabled, what data a manager
is able to access, what data other users in a department or work
group are able to access; what data users outside of a department
or work group are able to access, and/or what data a supervisor is
able to access.
[0073] According to one embodiment of the invention, a cubicle may
be defined as a classic cubicle. A classic cubicle may be further
defined in that a user can set a privacy mode to open door or
closed door. In a closed door cubicle only the supervisor may have
access to captured data, while in an open door cubicle users in the
same department may be granted full access, while remaining users
in the same company may be granted access to more limited data,
such as a low-res view of the screen or a thumbnail view.
[0074] According to a further embodiment of the invention, a system
may be provided that enables capturing of sound data in addition to
the video data. In some instances, the system may merge all or some
of the sounds at some or all of the virtual cubicles associated
with a teamroom. Systems using a sound capturing feature may allow
a user to select specific cubicles and listen to sound data
associated therewith.
[0075] According to additional embodiments of the invention, a
system using virtual cubicles similar to those described above may
use virtual "time cards" to improve or enable time-based work
and/or billing between two remote parties, a buyer and a provider.
In such a system, virtual cubicle reports may be used to provide
provable timesheets/timelogs which may be audited by the recorded
data. A user may be granted access to self-management controls of a
virtual cubicle. These controls may be related to timecard
punch-in/punch-out. A user may be given the ability to connect to a
teamroom or resume data collection or to disconnect from a teamroom
or suspend data collection. A user may be given the accessibility
to a timesheet which may be filled out by the user, and the
timesheet may be linked to memos describing the timeslots, and may
be filled out manually or automatically by the system in real
time.
[0076] According to additional embodiments of the invention, a user
may be enabled to review and submit timesheets at various point,
for example: after the work is performed; as the work is performed;
or following a review of a workdiary. The system may enable the
user, a supervisor or a manager to delete time, edit memos and/or
generate preview reports for a chosen time period. In various
embodiments of the invention, the system automatically generates
timelog draft timesheets for review based on the Virtual Cubicle
activity. These timesheets may be generated, for example, on an
end-of-week basis. A further system may automatically generate
provider timelogs and invoices to the buyer based on the reviewed
activity, and may automatically archive the invoice. These
functions may also be enabled to allow for manual generation and/or
control, based on the desires of the buyer.
[0077] By automatically archiving the timelogs as read-only data,
the work history becomes non-disputable proof-of-work. The system
may also provide hyperlinks for timesheet/timelog entries that may
navigate back to the specific time point in the read-only captured
data. By providing this information to the buyer, the buyer is
given the full information needed to approve or reject a timelog
based on whether the captured data shows a provider performing a
task described in the timesheet. A provider then may charge the
buyer for the hours of work performed, and the buyer, being able to
verify that the work was performed, may compensate the provider for
the hours of work actually performed and verified.
[0078] According to additional embodiments of the invention, a
system may be provided to serve as a "global staffing firm" to
enable individuals to log working hours for remote employers. The
system may recruit and train providers on the use of the Virtual
Cubicle and guidelines of being a good remote worker. The system
may be used as a central provider with whom providers establish
contractual relationships. The providers may specify an hourly rate
for their services. This rate may be incorporated to a charge for
services that is provided to a buyer such that service fees of the
system are transparent to the buyer and hidden costs are
eliminated. Providers may optionally be provided with a system
debit card or a similar device, such that payments for services
rendered are wired to the device. Payments may also be wired to
specified bank accounts.
[0079] According to additional embodiments of the invention,
providers may be required to take online tests provided by the
system. The providers may then be ranked or categorized based on
their skills as proven during testing. The testing may involve any
skills determined by the system, the provider or a buyer. The tests
may be proctored by staff supplied by the system and/or taken in a
virtual cubicle to further ensure the trustworthiness of the
results.
[0080] According to additional embodiments of the invention,
providers are able to apply to relevant job openings posted by the
system. The providers may also wait to be discovered by interested
buyers to whom lists of providers are supplied by the system.
Buyers register with the system and may sign contract with the
system. Buyers may search the supplied providers to find
appropriate matches. Buyers may post job openings and wait for
providers to apply. Buyers may interview and hire qualifying
providers using the system. A virtual cubicle may be automatically
provided for the provider in the buyer's teamroom. A provider and a
buyer may be able to negotiate the price of the provider's
services. A provider may be engaged to work on assignments on a
time or work product basis. For example if a weekly basis is
chosen, the buyer gets billed and the provider gets paid based on
that weekly basis. In other examples, the cycles of charging and
paying may be biweekly, monthly or independent from time.
[0081] According to additional embodiments of the invention, when
an assignment ends, the buyer and the provider rank each other and
provide feedback for each other to the system to aid the system in
making appropriate matches in the future.
[0082] According to additional embodiments of the invention,
auditable histories may be used to establish a fact-based profile
and a fact-based marketplace of remote buyers and providers. The
system may provide the history of assignments of the providers and
buyers to other selected members of the system. Data provided may
include: assignment history; which buyer work was performed for;
the number of hours worked; the hourly rate the provider worked
for; the position the provider was hired for; the position the
provider reached; and/or the results of the provider's testing. The
system may also supply a provider's interviewing activity, number
of active interviews and/or the positions the provider was offered
or rejected from.
[0083] Similarly, the system may also provide selected providers
with data related to assignments of selected buyers and recruiting
activity of the buyers. The data provided may include: assignment
history; which providers the buyer worked with; representative
statistics or information relating to the qualifications of the
providers worked with; hours worked by the providers; the hourly
rate of the providers that were worked with; what job openings the
buyers have previously filled; the feedback of previous providers;
the jobs currently available; which other providers were
interviewed; which providers were rejected; and/or information
related to the qualifications of the hired and rejected
providers.
[0084] According to additional embodiments of the invention, the
system may be designed to support arrangements between groups of
individuals. For example, a company owner may register as an
affiliate that will supply its own employees as individual
providers. The rates, interviewing, and negotiation may be managed
by an Affiliate Manager. Feedback related to the affiliate's
providers may be aggregating to form an affiliate ranking. An
aggregate fact-based profile containing corresponding data may be
automatically maintained for the affiliate. The affiliate may
receive the compensation from a buyer and be responsible to handle
individual compensation to its internal providers.
[0085] According to additional embodiments of the invention, a
system may be provided which enables flexible payment
relationships. For example, the system may provide complex
time-based relationships instead of hourly based relationships.
These relationships may include budget capped contracts that cap
hours based on a timed basis (e.g. daily/weekly/monthly), wherein
the caps may be set for individual providers or groups of
providers. The relationships may actively suspend the ability to
bill extra time, such that the Virtual Cubicles do not allow work
to be performed when a cap is reached. They may also provide an
alert when a cap is approached/reached which may be supplied to
both providers and buyers.
[0086] Alternate agreements may be based on a minimum number of
hours to be paid, wherein a minimum amount of hours over a given
time period are paid for even if the number of hours actually
billed is lower or a fixed number of hours to be paid over a given
time period in addition to the number of hours billed. Certain
agreements may require exclusivity, such that the provider is not
visible/available to other system users. A minimum project size or
minimum assignment duration may be agreed upon. Advance warning as
to when an assignment is going to end may be required, and minimum
compensation may be agreed upon. Various agreements may enable a
buyer to provide a bonus to individual providers or to groups of
providers.
[0087] According to additional embodiments of the invention, groups
of providers are enabled to be linked together such that a provider
may recommend one or more other providers and be responsible for
them. In such systems, the success (in terms of feedback ratings,
skill test scores, etc.) of the recommended providers may be
reflected in the profile of the recommending provider. The
recommending provider may receive a royalty commission on future
payments to the recommended providers. The recommended provider may
further recommend providers of their own. A commission scheme may
be incorporated which may follow a multi-level formula enabling a
provider to make a commission from providers indirectly recommended
by them. The system may provide the success and commissioning
schemes used as a part of the provider's profile. Providers may
move to a different recommender or to no recommender at all.
[0088] According to additional embodiments of the invention, a
system may be used that is integrated existing internet search
engines or third party websites such that the system identifies
posted job openings and matches them to providers, or that matches
posted providers with buyers that are internal to the system.
[0089] According to additional embodiments of the invention, a
virtual cubicle may be integrated with collaboration tools to
create a complete Collaboration Environment. This collaboration
environment may include: client chat, web chat, conferencing, team
chatrooms, third party voice over IP integration. The system may
enable the use of: screensnaps, shorturls, minicams, presence, task
management, project management, screen sharing, dashboarding, file
sharing, document co-authoring, emails, email lists, forums,
calendaring, scheduling, and/or third party desktop gadget
integration.
[0090] According to additional embodiments of the invention, a
virtual cubicle software program may be equipped with applications
such as: developer tools; bug tracking tools; version control;
virtual servers; integrated bug tracking and teamroom tools;
integrated version control and bug tracking; technical writing
tools; and/or issue tracking tools.
[0091] According to additional embodiments of the invention, a deep
collaboration tool and application is integrated into a virtual
cubicle. This integration enables: automatic provision of an
account on registration; automatic management of rosters of friends
or other groups at various points such as assignment start/end and
interviewing; inclusion of real time URL links to all relevant
points; making all past historical resources URL addressable;
single sign-on such that web accessible resources are accessible
after a single login and inaccessible after a logout; and/or a
teamroom manager.
[0092] According to additional embodiments of the invention, a user
management system is enabled that allows self administration and
access control and provides various integration points identified
above as a platform, such that buyers and providers can select
various applications and tools to be enables in a Virtual Cubicle.
The applications in tools enabled in the virtual cubicle may be
recorded along with the work history. Productivity metrics may be
enhanced by including application specific data therein.
[0093] The use of the terms "and" and "or" in the specification are
not intended to be limiting terms and should be interpreted
accordingly as "and/or" unless otherwise specified.
* * * * *