1. Field of the Invention
The present invention relates to collaboration systems and methods.
2. Description of the Related Art
Collaboration systems are well known. The process of setting up a computing device to participate in a collaboration system, such as a video conference, is often time consuming and frustrating to the average user. Typically, a video cable is used to connect the video source to a video conferencing encoder. This requires that the user have sufficient knowledge and motivation to configure their laptop or personal computer for a dual monitor display scenario, and/or connect the laptop or personal computer to the collaboration system resources, such as a projector or video encoder, using specialized video cables. In addition, the software and user interfaces in such solutions tend to be involved, non-intuitive, and require multiple steps to achieve the desired goal.
Another problem inherent in existing collaboration systems is the inability to easily share desktop content rendered on a display screen. Generally, sharing images of the desktop, or a portion thereof, involves a screen capture using multiple commands or multiple keys, pasting the captured content onto a clipboard, saving the clipboard content, launching a messaging client, such as an email application program, attaching the clipboard contents to a message, selecting a destination, and finally sending the message.
It is an object of the present invention to mitigate or obviate at least one of the above-mentioned disadvantages.
In one of its aspects there is provided, in a collaboration system, a method for sharing content displayed on a desktop associated with a participant computing device, the participant computing device having a processing structure; and a memory including instructions, wherein the memory and the instructions are configured, with the processing structure, to cause the processing structure to at least:
automatically discover a network server configured to distribute the content to other participant computing devices; couple the participant computing device to the network server; select said content on the desktop for sharing; capture the content; and automatically send the captured content to at least one of the other participant computing devices.
In another of its aspects there is provided a participant computing device having a machine-readable medium comprising coded instructions executable by a processing structure, the coded instructions comprising: (a) a first set of instructions coded to determine the availability of at least one video application server in a collaboration system, the first set of instructions coded to discover a network address of the at least one video application server; (b) a second set of instructions coded to couple the participant computing device to the at least one video application server; and (c) a third set of instructions coded to select content on a display of the participant computing device for sharing with other participant computing devices via the at least one video application server; whereby the selected content is captured for the sharing.
In yet another of its aspects there is provided a participant computing device in a collaboration system, the participant computing device comprising: a processing structure; and a memory including computer program code, wherein the memory and the computer program code are configured, with the processing structure, to cause the processing structure to share user defined content displayed on a desktop associated with the participant computing device with other participant computing devices.
In another of its aspects there is provided a simplified method for setting up a computing device for operation in a collaboration system, in which the computing device only needs to establish a connection with a video application server via a network protocol, such as IP, and the computing device is associated with the appropriate collaboration system resources.
Advantageously, desktop content may be shared easily among participants using simplified steps.
Several exemplary embodiments of the present invention will now be described, by way of example only, with reference to the appended drawings in which:
The detailed description of exemplary embodiments of the invention herein makes reference to the accompanying block diagrams and schematic diagrams, which show the exemplary embodiment by way of illustration and its best mode. While these exemplary embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, it should be understood that other embodiments may be realized and that logical and mechanical changes may be made without departing from the spirit and scope of the invention. Thus, the detailed description herein is presented for purposes of illustration only and not of limitation. For example, the steps recited in any of the method or process descriptions may be executed in any order and are not limited to the order presented.
Moreover, it should be appreciated that the particular implementations shown and described herein are illustrative of the invention and its best mode and are not intended to otherwise limit the scope of the present invention in any way. Indeed, for the sake of brevity, certain sub-components of the individual operating components, conventional data networking, application development and other functional aspects of the systems may not be described in detail herein. Furthermore, the connecting lines shown in the various figures contained herein are intended to represent exemplary functional relationships and/or physical couplings between the various elements. It should be noted that many alternative or additional functional relationships or physical connections may be present in a practical system.
Many of the methods of the invention may be performed with a digital processing system, such as a conventional, general purpose computer system. Special purpose computers which are designed or programmed to perform only one function may also be used.
As shown in
It will be apparent from this description that aspects of the present invention may be embodied, at least in part, in software. That is, the techniques may be carried out in a computer system or other data processing system in response to its processor, such as a microprocessor, executing sequences of instructions contained in a memory, such as a machine readable medium, or ROM 22, volatile RAM 23, non-volatile memory 24, cache 25 or a remote storage device. In various embodiments, hardwired circuitry may be used in combination with software instructions to implement the present invention. Thus, the techniques are not limited to any specific combination of hardware circuitry and software nor to any particular source for the instructions executed by the data processing system. In addition, throughout this description, various functions and operations are described as being performed by or caused by software code to simplify description. However, those skilled in the art will recognize what is meant by such expressions is that the functions result from execution of the code by a processor, such as the microprocessor 21. The machine readable medium includes any mechanism that provides (i.e., stores and/or transmits) information in a form accessible by a machine (e.g., a computer, network device, personal digital assistant, any device with a set of one or more processors, etc.). For example, machine readable media includes recordable/non-recordable media (e.g., ROM; RAM; magnetic disk storage media; optical storage media; flash memory devices; etc.), as well as electrical, optical, acoustical or other forms of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.).
Turning to
In operation, after the device 12 is first powered on and coupled to the network 14 via a network interface, a configuration process is initiated by the software client module on device 12 in order to configure the device 12 for participation in the collaboration system 10. The software client module comprises an application program that is executed to connect the device 12 to the collaboration system 10, via a VAS 15. In one example, the application program prompts a participant to enter the network address of the VAS 15, such as an IP address, and the application program automatically determines whether the identified VAS 15 is reachable from the device 12. This determination may be implemented via a ping command, as is well known in the art, or by other means. The step of determining whether the VAS 15 is reachable enhances the user's experience by bypassing unnecessary “failed to login” error messages common when a network connection can not be established. Once the credentials are authenticated by the VAS 15, the device 12 is permitted to join at least one collaboration session. When it is determined that the identified VAS 15 is reachable and communicatively coupled to the device 12, the VAS 15 requests the participant to supply login credentials to access at least one collaboration session via the device 12. These credentials may be the participant's Windows Active Directory user id and password, or network credentials, however, the credentials may be unique to the VAS 15, or may be specific to a particular collaboration session.
Alternatively, the application program automatically initiates a discovery process to find an available VAS 15, and the participant computing device 12 is assigned a network address (e.g., an IP address), including any other configuration settings, from the VAS 15, via any suitable transport protocol, such as UDP, TCP, TLS, HTTP(S), FTP, or TFTP, in order to auto-configure the device 12. Therefore, the participant computing device 12 is configured automatically without user intervention, and therefore can more easily access the resources of the collaboration system 10, such as videoconferencing resources or sharing resources via a network connection. Accordingly, the device 12 can be coupled to a display device associated with the system 10 or VAS 15, such as networked projector, via network 14, rather than through video cables.
After an initial successful login, the participant is given an option to permit the application program to store authenticated credentials to allow for automatic or transparent logins in subsequent collaboration sessions. Once logged in, a sharing application program is launched via an appropriate icon 42 in task bar 44. The desktop sharing application program may comprise an associated application window which may be minimized to free up GUI real estate or closed, while persisting in the background. In another example, the sharing application program is automatically launched upon a successful log in event.
After all the devices 12 participating in the collaboration session are coupled to the VAS 15, each device 12 obtains a list of the other devices 12 in the collaboration session from the VAS 15. As shown in
As an example, during an active video conferencing session, a user invokes a command to share at least one portion of the desktop 40, such as a double click action on icon 42 associated with the sharing application program. The command launches a dialog box 45 having a menu with available sharing options. The menu options may be grouped into categories and separated by an appropriate delimiter, such as a horizontal bar. The available sharing options may include, but are not limited to, “Desktop snapshot”, “Partial desktop snapshot”, and “Share desktop”.
In one example, selecting the “Partial Desktop Snapshot” option creates a sharing window 46 bounded by a window frame 48 on the desktop 40. To enhance usability, the sharing window 46 may be substantially opaque to help the user distinguish between the desktop 40 and the windowed area 46 having said content for sharing. The sharing window 46 and window frame 48 may be moved to any location on the desktop 40 for data content 50 selection. The content 50 includes, but is not limited to, text, graphical images, documents, and multimedia. As an example, the window frame 48 may be moved by left clicking anywhere within the framed window 46, and dragging the framed window 46 to another location while pressing the left mouse button. The framed window 46 may be resized by left clicking appropriate resize bars, and dragging to an alternate size while pressing the left mouse button. The user can also expand the framed window 46 to full size by left clicking an appropriate expansion icon. Having determined the desired content 50 for sharing, the user overlays the suitably dimensioned framed window 46 over the desired content 50 for sharing, and elect to take a snapshot to capture the content 50. Such an action may include visual or audible indicators to confirm the capture event. As an example, the window frame 48 may include a momentary color change, such as a red window frame 48, and/or an audible camera shutter sound to confirm that an image of the framed window 46 has been captured. Alternatively, should the user decide not to capture the content 50, closing the framed window 46 cancels the selection.
Once the content 50 has been captured, another dialog box 52 with a plurality of options is presented on the display 40 prompting the user for further action. As an example, one of the options is for sending the captured content 50 to other participants in the collaboration session. Selection of this option causes a single image of the content 50 in window 46 to be captured and the captured content 50 is automatically sent to all participants via a messaging application integrated with the sharing application and VAS 15. As such, there is no requirement on the user's part to specify recipients. Alternatively, the user may select to capture and send a sequence of images. The images may be compressed using lossless or slightly lossy image compression techniques to reduce network bandwidth requirements and user-perceived delay while maintaining high image quality.
In another example, selecting the “Desktop Snapshot” option sends a single image of the user's entire desktop 40 to all participants. A momentary flash of a red border around the desktop 40, and/or an audible camera shutter sound may also be used confirm that an image of the desktop 40 has been captured. The image is subsequently sent to all participants automatically, without the user having to specify recipients.
In yet another example, the desktop 40 may be automatically captured periodically based on a user defined timer, or based upon changes to the user's desktop, and the captured images are also sent periodically in real-time. As such, processing structure 21 is caused to compare successive captured images of selected content 50 within the at least one region of the desktop 40 to determine whether there is a difference in the successive captured images. When the most recently captured image differs from a preceding image, in accordance with a predetermined criterion, then only the most recently captured image is sent for sharing, thus conserving bandwidth and processing resources. Using this option, a user may share a slide presentation, without having to manually capture and send each newly captured image. In this mode, a visual indicator may still be provided, however, the audio indicator may be muted, as the sound may distract the user, or interfere with the user's verbal presentation. Correspondingly, the visual indicator may be implemented in such a way that it fades in and out with each image capture, such that any captured images sent to the other participants do not include the visual indicator.
In the above examples, the captured images are processed by the device 12 and sent either to the VAS 15 for distribution, or sent directly to the other participants. The processing of the captured images may involve graphic manipulation of color depth, resolution and aspect ratio. To conserve bandwidth and reduce transmission time, the processed images may also be compressed, using lossy or lossless techniques, before being sent to their destination. However, some of the processing may be performed by the VAS 15 in the VAS distribution model.
In yet another example, after the image capture, the user or participant may be prompted to choose specific recipients or a distribution list, rather than sending the captured images to all collaboration session participants. The sharing application program presents a user interface that allows the participant to select session participants from a graphical rolodex that contains a scrollable list of user names or from a list of quick-dial buttons, or from a contact list associated with a messaging client, or from a directory.
The communication network 14 can include a series of network nodes (e.g., the clients and servers) that can be interconnected by network devices and wired and/or wireless communication lines (such as, public carrier lines, private lines, satellite lines, etc.) that enable the network nodes to communicate. The transfer of data between network nodes can be facilitated by network devices, such as routers, switches, multiplexers, bridges, gateways, etc., that can manipulate and/or route data from an originating node to a server node regardless of dissimilarities in the network topology (such as, bus, star, token ring, mesh, or hybrids thereof), spatial distance (such as, LAN, MAN, WAN, Internet), transmission technology (such as, TCP/IP, Systems Network Architecture), data type (such as, data, voice, video, multimedia), nature of connection (such as, switched, non-switched, dial-up, dedicated, or virtual), and/or physical link (such as, optical fiber, coaxial cable, twisted pair, wireless, etc.) between the correspondents within the network.
Although in some of the embodiments described above, input to the system 10 is described primarily via the use of a mouse, those skilled in the art will appreciate that other input means for selection may be used, such as, pointers (pen tools, fingers) on appropriate touch displays.
Benefits, other advantages, and solutions to problems have been described above with regard to specific embodiments. However, the benefits, advantages, solutions to problems, and any element(s) that may cause any benefit, advantage, or solution to occur or become more pronounced are not to be construed as critical, required, or essential features or elements of any or all the claims. As used herein, the terms “comprises,” “comprising,” or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Further, no element described herein is required for the practice of the invention unless expressly described as “essential” or “critical.”
The preceding detailed description of exemplary embodiments of the invention makes reference to the accompanying drawings, which show the exemplary embodiment by way of illustration. While these exemplary embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, it should be understood that other embodiments may be realized and that logical and mechanical changes may be made without departing from the spirit and scope of the invention. For example, the steps recited in any of the method or process claims may be executed in any order and are not limited to the order presented. Further, the present invention may be practiced using one or more servers, as necessary. Thus, the preceding detailed description is presented for purposes of illustration only and not of limitation, and the scope of the invention is defined by the preceding description, and with respect to the attached claims.
Number | Date | Country | |
---|---|---|---|
61435941 | Jan 2011 | US |