Enabling Collaboration Between Users

Provided is a method and system for enabling collaboration between users. The method is implemented by a collaborative canvas application executing on an electronic device including one or more processors. The method includes creating an interactive collaboration session amongst a plurality of users. The method includes receiving one or more interactions associated with a plurality of applications from the plurality of users. The plurality of applications are initiated within the interactive collaboration session. Each of the plurality of applications are accessed natively by each of the plurality of users. The method includes synchronizing in real-time each of the one or more interactions received from the plurality of users for enabling collaboration between the plurality of users.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
CROSS-REFERENCE TO RELATED APPLICATIONS/INCORPORATION BY REFERENCE

This application makes reference to, claims priority to, and claims benefit from U.S. Provisional Application Ser. No. 63/028,123, which was filed on May 21, 2020.

The above referenced application is hereby incorporated herein by reference in its entirety.

TECHNICAL FIELD

The presently disclosed exemplary embodiments are related, in general, to a web-based collaborative environment shared by a plurality of users. More particularly, the presently disclosed exemplary embodiments are related to a method and a system for synchronizing in real-time each of one or more interactions received from the plurality of users for enabling collaboration between the plurality of users.

BACKGROUND

There may be many situations where different users need to collaborate and work together in a coordinated fashion. As an example, users at different locations may need to collaborate to generate a report or presentation. The generation of the report or presentation may involve use of many different software applications concurrently. For example, a text editor may be used to generate text for the report while a graphics program may be used to generate graphics and a photo editing program may be used to generate or manipulate images. All of these applications need to work in parallel in a shared workspace, however, the plurality of users cannot access each of the plurality of applications concurrently and cannot make edits to one or more files associated with such applications concurrently.

Screen sharing may be an alternative option for users for collaborative working. However, in remote screen sharing applications, firstly only one user can share and control the edits that may be made to an application and plurality of users cannot edit/control content concurrently. Additionally, even if control may be given to other user for editing, even then the content being accessed is via remote sharing and not natively. Thus, users do not access files and applications natively i.e. applications or files installed and/or stored on the device itself, and thus synchronization between devices needs to be optimal. One problem frequently encountered in collaborative systems may be maintaining synchronization between the shared workspace at each of the client devices. Lack of synchronization may cause conflicts between users. For example, if synchronization is not maintained, a user may attempt to edit a document that has been deleted by another user. Therefore, it is necessary to maintain synchronization in real time or near real time between client devices and the shared workspace.

A major technical problem in the aforementioned conventional approaches is that the files are not accessed natively and are accessed via a storage server or cloud server thereby making synchronization in real-time amongst plurality of users very important. In addition to the above, if there are network issues then quality and richness of experience while collaboration is minimal thereby leading to a poor collaborative effort. Thus, conventional collaboration software fails to facilitate collaboration between users.

Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of described systems with some aspects of the present disclosure, as set forth in the remainder of the present application and with reference to the drawings.

SUMMARY

A method and a system for synchronizing in real-time each of one or more interactions received from the plurality of users for enabling collaboration between the plurality of users is provided substantially as shown in, and/or described in connection with, at least one of the figures, as set forth more completely in the claims.

These and other features and advantages of the present disclosure may be appreciated from a review of the following detailed description of the present disclosure, along with the accompanying figures in which like reference numerals refer to like parts throughout.

The foregoing summary is illustrative only and is not intended to be in any way limiting. In addition to the illustrative aspects, exemplary embodiments, and features described above, further aspects, exemplary embodiments, and features will become apparent by reference to the drawings and the following detailed description. Further, it is to be understood that the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram that illustrates a system environment for synchronizing in real-time each of one or more interactions received from the plurality of users for enabling collaboration between the plurality of users, in accordance with at least one exemplary embodiment;

FIG. 2 is a block diagram that illustrates an electronic device configured for enabling collaboration between users, in accordance with at least one exemplary embodiment;

FIGS. 3A and 3B are diagrams that collectively illustrate an exemplary scenario of implementation of the collaborative canvas application to enable collaboration between participants in a video conferencing tool, in accordance with at least one exemplary embodiment;

FIG. 4 is a flowchart that illustrates a method for enabling collaboration between users, in accordance with at least one exemplary embodiment; and

FIG. 5 is a block diagram of an exemplary computer system for implementing collaboration between users, in accordance with various exemplary embodiments of the present disclosure.

DETAILED DESCRIPTION

The illustrated embodiments provide a method and a system for enabling collaboration between users. The method may be implemented by a collaborative canvas application executing on an electronic device including one or more processors. The method may include creating an interactive collaboration session amongst a plurality of users. The method may include receiving one or more interactions associated with a plurality of applications from the plurality of users. In an exemplary embodiment, the plurality of applications may be initiated within the interactive collaboration session. In an exemplary embodiment, each of the plurality of applications are accessed natively by each of the plurality of users. In an exemplary embodiment, the native access to applications corresponds to a user accessing applications or files installed and/or stored on the electronic device. Further, the method may include synchronizing in real-time each of the one or more interactions received from the plurality of users for enabling collaboration between the plurality of users.

FIG. 1 is a block diagram that illustrates a system environment 100 for synchronizing in real-time each of one or more interactions received from the plurality of users for enabling collaboration between the plurality of users, in accordance with at least one exemplary embodiment. Referring to FIG. 1, the system environment 100 may include a plurality of electronic devices, such as 102, 104 and 106 associated with a plurality of users, such as User A 102a, User B 104a, and User C 106a, a communication network 108, and a database server 110. Each of the electronic devices 102, 104, and 106 associated with the plurality of users, such as User A 102a, User B 104a, and User C 106a, may be communicatively coupled with each other via the communication network 108.

The plurality of electronic devices, such as electronic device 102, 104 and 106 may refer to a computing device used by a user who may collaboratively work with remaining users. The plurality of electronic devices, such as electronic device 102, 104 and 106 may comprise of one or more processors and one or more memories. The one or more memories may include computer readable code that may be executable by the one or more processors to perform predetermined operations. In an exemplary embodiment, the plurality of electronic devices, such as electronic device 102, 104 and 106 may present a user-interface to the user for performing one or more interactions on the electronic device. Examples of the plurality of electronic devices, such as electronic device 102, 104 and 106 may include, but are not limited to, a personal computer, a laptop, a personal digital assistant (PDA), a mobile device, a tablet, or any other computing device.

The plurality of users, such as User A 102a, User B 104a, and User C 106a may be utilizing the electronic device 102, the electronic device 104 and the electronic device 106, respectively as shown in FIG. 1. The plurality of users, such as User A 102a, User B 104a, and User C 106a may interact with the plurality of electronic devices, such as electronic device 102, 104 and 106 by performing one or more interactions on the user-interface presented to each of the respective users of the associated electronic device.

In an exemplary embodiment, the communication network 108 may include a communication medium through which each of the electronic devices, such as 102, 104 and 106 associated with the plurality of users may communicate with each other. Such a communication may be performed, in accordance with various wired and wireless communication protocols. Examples of such wired and wireless communication protocols include, but are not limited to, Transmission Control Protocol and Internet Protocol (TCP/IP), User Datagram Protocol (UDP), Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), ZigBee, EDGE, infrared (IR), IEEE 802.11, 802.16, 2G, 3G, 4G, 5G, 6G cellular communication protocols, and/or Bluetooth (BT) communication protocols. The communication network 108 may include, but is not limited to, the Internet, a cloud network, a Wireless Fidelity (Wi-Fi) network, a Wireless Local Area Network (WLAN), a Local Area Network (LAN), a telephone line (POTS), and/or a Metropolitan Area Network (MAN).

In an exemplary embodiment, the plurality of electronic devices, such as electronic device 102, 104 and 106 may include a database server 110. In an exemplary embodiment, the database server 110 may refer to a computing device that may be configured to store files associated with one or more applications installed on the electronic device. In an exemplary embodiment, the plurality of electronic devices, such as electronic device 102, 104 and 106 may communicate with the database server 110 using one or more protocols such as, but not limited to, Open Database Connectivity (ODBC) protocol and Java Database Connectivity (JDBC) protocol. In an exemplary embodiment, the database server 110 may include a special purpose operating system specifically configured to perform one or more database operations on one or more files associated with the plurality of applications initiated within the interactive collaboration session. Examples of database operations may include, but are not limited to, Select, Insert, Update, and Delete. In an exemplary embodiment, the database server may include hardware that may be configured to perform one or more predetermined operations. In an exemplary embodiment, the database server 110 may be realized through various technologies such as, but not limited to, Microsoft® SQL Server, Oracle®, IBM DB2®, Microsoft Access®, PostgreSQL®, MySQL® and SQLite®, and the like.

A person having ordinary skill in the art will appreciate that the scope of the disclosure is not limited to realizing the electronic device and the database server as separate entities. In an exemplary embodiment, the database server may be realized as an application program installed on and/or running on the electronic device without departing from the scope of the disclosure.

In operation, the plurality of electronic devices, such as electronic device 102, 104 and 106 may be configured to initiate and execute a collaborative canvas application. The plurality of electronic devices, such as electronic device 102, 104 and 106 may be configured to create an interactive collaboration session amongst the plurality of users. In an exemplary scenario, a User A 102a, a User B 104a, and a User C 106a may be utilizing the electronic device 102, the electronic device 104 and the electronic device 106, respectively as shown in FIG. 1. At least one of the User 102a, User B 104a, and User C 106a may click on an icon associated with the collaborative canvas application. In an exemplary embodiment, the User 102a, the User B 104a, and the User C 106a may perform a touch operation on an icon associated with the collaborative canvas application. Once the collaborative canvas application may be initiated then each of the electronic device 102, electronic device 104 and electronic device 106 create an interactive collaboration session amongst the User A 102a, User B 104a, and User C 106a.

After the interactive collaboration session has been created, the plurality of electronic devices, such as electronic device 102, 104 and 106 may be configured to receive one or more interactions associated with a plurality of applications from the plurality of users. In an exemplary embodiment, the one or more interactions may comprise events performed by the plurality of users by using the electronic device or one or more device peripherals attached to the electronic device. In an exemplary embodiment, the events comprise at least one of a mouse click event, a scrolling event, a typing event, or a hover event.

For example, after the interactive collaboration session has been created amongst the electronic device 102, the electronic device 104 and the electronic device 106, of the User A, the User B and the User C, respectively, then the electronic device 102 of User A may initiate a plurality of applications (e.g. Confluence® and Jira®) within the interactive collaboration session. For example, the User A may initiate Confluence® application and Jira® application concurrently and may further start making edits to the applications that have been opened within the interactive collaboration session.

In an exemplary embodiment, each of the plurality of applications may be accessed natively by each of the plurality of users. The native access to applications corresponds to user accessing applications or files installed and/or stored on the electronic device. For example, continuing the same example given above, the User A may initiate Confluence® application and Jira® application concurrently and the files associated with these applications may be stored on the electronic device 102 and the applications Confluence® application and Jira® application are also installed on the electronic device 102. Thus, the User A is accessing local content that may be present on the electronic device 102 and may be making edits or changes to the files of the applications that are installed on the electronic device 102.

An example of the plurality of users accessing the plurality of applications natively can be explained as follows. The User A and the User B create an interactive collaboration session. Further, the User A is interacting with Confluence® application and Jira® application concurrently that is installed on the electronic device 102 and the files associated with these applications may be stored on the electronic device 102. The User B is interacting with Confluence® application and Photoshop® application concurrently that is installed on electronic device 104 and the files associated with these applications may be stored on the electronic device 104.

Further, the plurality of electronic devices, such as electronic device 102, 104 and 106 may be configured to synchronizing in real-time, each of the one or more interactions received from the plurality of users for enabling collaboration between the plurality of users. Now, each of the plurality of users may perform one or more interactions associated with the plurality of applications concurrently. In an exemplary embodiment, the one or more interactions may comprise events performed by the plurality of users by using the electronic device. In an exemplary embodiment, the events comprise at least one of a mouse click event, a scrolling event, a typing event, or a hover event.

Now, in an exemplary embodiment, the User A 102a is interacting with Confluence® application and Jira® application concurrently and the files associated with these applications may be stored on the electronic device 102 and the Confluence® application and Jira® application are also installed on the electronic device 102. Similarly, the User B 104a may initiate Confluence® application and Photoshop® application concurrently and the files associated with these applications may be stored on the electronic device 104 and the Confluence® application and Photoshop® application are also installed on the electronic device 104. Now, as the User A 102a and the User B 104a have created the interactive collaboration session and the plurality of applications have been initiated in the interactive collaboration session hence the User A 102a and the User B 104a may interact with the plurality of applications concurrently i.e. the User A 102a and the User B 104a may interact and make changes or edits to any of these applications: Confluence® application, Jira® application and Photoshop® application concurrently via the interactive collaboration session.

In an exemplary embodiment, a User A 102a may not need to necessarily open/initiate each and every application within the interactive collaboration session. Only applications initiated within the interactive collaboration session may be utilized for collaboration between the plurality of users, such as User A 102a, User B 104a, and User C 106a. In an exemplary embodiment, a User B 104a may choose to initiate an application that may not be within the interactive collaboration session so that the interactions performed by the user on such an application are not synchronized in real-time between the plurality of users, such as User A 102a, User B 104a, and User C 106a. In an exemplary embodiment, when an application is initiated, a pop-up dialog box may be utilized to confirm from the User B 104a when the User B 104a wants to initiate the application within the interactive collaboration session or not. In another exemplary embodiment, a drag and drop feature may initiate an application within the interactive collaboration session. For example, the graphical user interface of the interactive collaboration session may include a section that displays each of the plurality of applications that are being synchronized in real-time with the interactions performed by the plurality of users, such as User A 102a, User B 104a, and User C 106a. If a User C 106a drags an application icon within such a section, then the respective application may be initiated within interactive collaboration session.

In accordance with various embodiments, each user from the plurality of users, such as User A 102a, User B 104a, and User C 106a may access content that is installed locally or natively and still make changes or interact with the content and then the electronic device may synchronize in real-time, each of the interactions received from the plurality of users for enabling collaboration between the plurality of users, such as User A 102a, User B 104a, and User C 106a. In an exemplary embodiment, the collaborative canvas application may be integrated within at least one of video conferencing tools, and online meeting tools.

FIG. 2 is a block diagram that illustrates an electronic device, such as 102 configured for enabling collaboration between users, in accordance with at least one exemplary embodiment.

In an exemplary embodiment, the electronic device 102 may include a processor 202, a memory 204, a transceiver 206, an input/output unit 208, an interaction monitoring unit 210, and a synchronization unit 212. The processor 202 may be communicatively coupled to the memory 204, the transceiver 206, the input/output unit 208, the interaction monitoring unit 210, and the synchronization unit 212. The transceiver 206 may be communicatively coupled to the communication network 108.

The processor 202 comprises suitable logic, circuitry, interfaces, and/or code that may be configured to execute a set of instructions stored in the memory 204. The processor 202 may be implemented based on several processor technologies known in the art. The processor 202 works in coordination with the transceiver 206, the input/output unit 208, the interaction monitoring unit 210, and the synchronization unit 212 for enabling collaboration between plurality of users. Examples of the processor 202 include, but not limited to, an X86-based processor, a Reduced Instruction Set Computing (RISC) processor, an Application-Specific Integrated Circuit (ASIC) processor, a Complex Instruction Set Computing (CISC) processor, and/or other processor.

The memory 204 comprises suitable logic, circuitry, interfaces, and/or code that may be configured to store the set of instructions, which are executed by the processor 202. In an exemplary embodiment, the memory 204 may be configured to store one or more programs, routines, or scripts that are executed in coordination with the processor 202. The memory 204 may be implemented based on a Random-Access Memory (RAM), a Read-Only Memory (ROM), a Hard Disk Drive (HDD), a storage server, and/or a Secure Digital (SD) card.

The transceiver 206 comprises of suitable logic, circuitry, interfaces, and/or code that may be configured to receive one or more interactions associated with a plurality of applications from the plurality of users, via the communication network 108. The transceiver 206 may be further configured to transmit and receive content during creation of the interactive collaboration session. The transceiver 206 may implement one or more known technologies to support wired or wireless communication with the communication network 108. In an exemplary embodiment, the transceiver 206 may include, but is not limited to, an antenna, a radio frequency (RF) transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a Universal Serial Bus (USB) device, a coder-decoder (CODEC) chipset, a subscriber identity module (SIM) card, and/or a local buffer. The transceiver 206 may communicate via wireless communication with networks, such as the Internet, an Intranet and/or a wireless network, such as a cellular telephone network, a wireless local area network (LAN) and/or a metropolitan area network (MAN). The wireless communication may use any of a plurality of communication standards, protocols and technologies, such as: Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), wideband code division multiple access (W-CDMA), code division multiple access (CDMA), time division multiple access (TDMA), Bluetooth, Wireless Fidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g and/or IEEE 802.11n), voice over Internet Protocol (VoIP), Wi-MAX, a protocol for email, instant messaging, and/or Short Message Service (SMS).

The input/output unit 208 comprises suitable logic, circuitry, interfaces, and/or code that may be configured to provide one or more inputs that may correspond to one or more interactions to the electronic device for interactive collaboration amongst the plurality of users. The input/output unit 208 comprises of various input and output devices that are configured to communicate with the processor 202. Examples of the input devices include, but are not limited to, a keyboard, a mouse, a joystick, a touch screen, a microphone, a camera, and/or a docking station. Examples of the output devices include, but are not limited to, a display screen and/or a speaker. The display screen may be configured to display synchronized real-time interactions received from the plurality of users within the collaborative canvas application for enabling collaboration between the plurality of users.

The interaction monitoring unit 210 comprises suitable logic, circuitry, interfaces, and/or code that may be configured to monitor one or more interactions performed by a user of the electronic device, such as electronic device 102. In an exemplary embodiment, the monitored one or more interactions may be associated with the plurality of applications that have been initiated within the interactive collaboration session. Further, such monitored one or more interactions may be transmitted to the remaining electronic devices, such as electronic device 104 and electronic device 106, via the transceiver 206.

The synchronization unit 212 comprises suitable logic, circuitry, interfaces, and/or code that may be configured to synchronize in real-time each of the one or more interactions received from the plurality of users for enabling collaboration between the plurality of users.

In operation, when a plurality of users need to collaborate then any one of the plurality of users may initiate execution of a collaborative canvas application via the processor 202. In response to initiation of the collaborative canvas application, the processor 202 may be configured to create an interactive collaboration session amongst the plurality of users. The data transfer between the plurality of electronic devices during the interactive collaboration session may be performed by the transceiver 206, via the communication network 108.

After the interactive collaboration session may be created, the transceiver 206 may be configured to receive one or more interactions associated with a plurality of applications from the plurality of users, via the communication network 108. In an exemplary embodiment, the plurality of applications may be initiated within the interactive collaboration session and each of the plurality of applications may be accessed natively by each of the plurality of users. In an exemplary embodiment, the native access to applications corresponds to user accessing applications or files installed and/or stored on the electronic device 102.

Further, the interaction monitoring unit 210 may be configured to monitor one or more interactions performed by a user of the electronic device 102. In an exemplary embodiment, the monitored one or more interactions may be associated with the plurality of applications that have been initiated within the interactive collaboration session. Further, such monitored one or more interactions may be transmitted to the remaining electronic devices, such as electronic device 104 and electronic device 106, via the transceiver 206. In an exemplary embodiment, each of the plurality of users may interact with the plurality of applications concurrently and the transceiver of each respective electronic device may be configured to receive information regarding the one or more interactions performed by the plurality of users.

In an exemplary embodiment, the one or more interactions may comprise events performed by the plurality of users by using the electronic device 102 or one or more device peripherals attached to the electronic device 102. In an exemplary embodiment, the events may comprise at least one of a mouse click event, a scrolling event, a typing event, or a hover event.

Further, the synchronization unit 212 may be configured to synchronize in real-time each of the one or more interactions received from the plurality of users for enabling collaboration between the plurality of users.

A person skilled in the art will understand that the scope of the disclosure should not be limited to enabling collaboration between users based on the aforementioned factors and using the aforementioned techniques. Further, the examples provided are for illustrative purposes and should not be construed to limit the scope of the disclosure.

FIGS. 3A and 3B are diagrams that collectively illustrate an exemplary scenario of implementation of the collaborative canvas application to enable collaboration between participants in a video conferencing tool, in accordance with at least one exemplary embodiment. FIGS. 3A and 3B have been explained in conjunction with the elements of FIG. 1.

In an exemplary scenario two participants, for example, participant A and participant B may utilize electronic device 102 and electronic device 104, respectively, to collaborate utilizing a video conferencing tool. The collaborative canvas application is integrated within the video conferencing tool by the processor 202. In an exemplary embodiment, the integration of the collaborative canvas application within the video conferencing tool may be performed by state of the art application integration tools, such as, but not limited to, Celigo®, Cloud Elements®, IBM Integration Designer®, and the like. Such integration tools ensure that the electronic device provides the user with the capability to integrate the collaborative canvas application within the video conferencing tool. In an exemplary embodiment, the collaborative canvas application and the video conferencing tool may continue to work independent of each other.

FIG. 3A shows an exemplary graphical user interface 302 of the video conferencing tool that is displayed to participant A and participant B on electronic device 102 and electronic device 104, respectively when the interactive collaboration session amongst the participant A and participant B is created.

As shown in FIG. 3A, the graphical user interface illustrates a collaborative canvas application icon 306, a collaborative canvas area 308, an application list section 310, a participant list section 312, a chat window 314, and a meeting snippets section 316. The collaborative canvas application icon 306 may be utilized to initiate execution of the collaborative canvas application that is integrated with the electronic device. For example, the participant A may click on the collaborative canvas application icon 306 to create the interactive collaboration session amongst the participant A and participant B.

The collaborative canvas area 308 may be the area where the plurality of users i.e. participant A and participant B are able to collaboratively work and interact with a plurality of applications concurrently. The collaborative canvas area 308 may be more like an interactive white boarding solution that may help participants in a video conference/audio-visual meeting to share with each other and concurrently work across applications. In an exemplary embodiment, interactions such as key typing, movement of mouse cursors, and the like of each of the plurality of participants may be viewed by each other via the collaborative canvas area 308.

The application list section 310 may display a plurality of applications that may be installed natively on each of the respective electronic devices. In an exemplary embodiment, the participant may choose to initiate one or more applications displayed in the application list section 310 within the interactive collaboration session that may be created when the participant clicks on the collaborative canvas application icon 306. In an exemplary embodiment, the participant may choose not to initiate one or more applications displayed in the application list section 310 within the interactive collaboration session. When an application may be opened within the collaborative canvas area 308, the participant A and the participant B may concurrently interact with the files associated with the application.

The participant list section 312 displays the details of participants that are currently working collaboratively within the video conferencing tool. In an exemplary embodiment, metadata about each of the participants may be displayed in the participant list section 312. In an exemplary embodiment, such metadata may comprise image of the participant, name of the participant, organization name of the participant, designation name of the participant and the like.

Further, the chat window 314 may enable the plurality of participants that have joined the video conferencing tool to have conversations with each other and discuss about meeting agenda and any other relevant information.

Further, each of the electronic devices of the participant A and the participant B who have joined the video conference via the video conferencing tool may generate a plurality of meeting snippets based on the identification of the trigger event and such meeting snippets may be shared within the meeting snippets section 316. Each of the plurality of participants may provide feedback about the plurality of meeting snippets. In an exemplary embodiment, identifying a trigger event in real-time may be initiated by at least one participant of the video conference. In an exemplary embodiment, the trigger event may be indicative of at least a reference to meeting metadata associated with the meeting. In an exemplary embodiment, the video conference may be recorded for a predetermined duration to generate the plurality of meeting snippets. In an exemplary embodiment, the meeting metadata associated with the meeting or video conference may comprise an agenda of the meeting, one or more topics to be discussed during the meeting, a time duration of the meeting, a schedule of the meeting, meeting notes carried forwarded from previous meetings, and/or the like.

Based on the participant A clicking on the collaborative canvas application icon 306 and the collaborative canvas area 308 being displayed on both electronic device 102 and electronic device 104, an interactive collaboration session may be established among the participant A and the participant B. Further, the participant A may initiate the application 1 and the application 2 in the interactive collaboration session. The application 1 and application 2 are installed natively or locally on the electronic device 102 of the participant A. In an exemplary embodiment, native access to applications corresponds to user accessing applications or files installed and/or stored on the electronic device. FIG. 3A illustrates the collaborative canvas area 308 displaying the application 1 and application 2 that have been initiated by participant A.

After the application 1 and the application 2 are initiated in the interactive collaboration session, the participant A may perform one or more interactions associated with files of the application 1 and the application 2 concurrently. In an exemplary embodiment, the one or more interactions comprises events performed by the participant A by using the electronic device 102 or one or more device peripherals attached to the electronic device 102. In an exemplary embodiment, the events comprise at least one of a mouse click event, a scrolling event, a typing event, or a hover event.

The interaction monitoring unit 210 may be configured to monitor such interactions and such interactions are synchronized in real-time by the synchronization unit 212 to display on the collaborative canvas area 308 open on the electronic device 104 of the Participant B. FIG. 3A illustrates the collaborative canvas area 308 displaying the application 1 and the application 2 that have been initiated by the participant A and any changes/edits/interactions which are made by the participant A to any of the files associated with the application 1 and the application 2 may be viewed by the Participant B in real-time within the collaborative canvas area 308.

Similarly, the Participant B may initiate the application 3 natively within the collaborative canvas area 308 of the electronic device 104 and start performing one or more interactions on one or more files associated with the application 3. For example, the participant B may open a Microsoft Word® document that is stored locally on the electronic device 104 but open it within the interactive collaboration session. Further, the participant B may interact with the Microsoft Word® document. For example, the participant B may perform a typing event (such as, writing a sample software code) in the Microsoft Word® document.

Once the participant B opens the Microsoft Word® document in the collaborative canvas area 308 of electronic device 104 within the interactive collaboration session, then the collaborative canvas area 308 initiated on the participant A's electronic device 102 may also be updated to display files of the application 3 that is being used for collaboration i.e. Microsoft Word® document. FIG. 3B 304 shows the updated collaborative canvas area 308 that may be depicted on both the electronic device 102 and the electronic device 104 for each of the respective Participant A and Participant B.

Further, interactions performed by the Participant B that are associated with the application 3 may be also viewed in real-time by the Participant A. Additionally, Participant A may concurrently perform interactions on the application 1 and the application 2 that have been opened natively from the electronic device 102 and also perform interactions on the application 3 that has been initiated via the electronic device 104. Similarly, the participant B may concurrently interact with the application 3 that has been initiated natively from the electronic device 104 and also interact with the application 1, and the application 2 via the collaborative canvas application opened in the electronic device 104. Such collaboration may be possible via the collaborative canvas application. When the Participant A may be performing interactions associated with the application 1 and the application 2, then the Participant B will be able to view the changes in real-time because of the real-time synchronization.

Based on the description above, the Participant A and the Participant B may concurrently interact with the application 1, the application 2, and the application 3 and may also view the interactions performed by each of the participants in real-time because of the real-time synchronization.

By integrating the collaborative canvas application into video conferencing tools a collaborative experience may be provided that may be defined by a framework by monitoring interactions at each electronic device in real-time around web based content. This provides a way for participants of an interactive collaboration session to interact with web-based content by rendering content natively with ability to collaborate along with the other participants over it. Such framework and experience makes the traditional screen share experience obsolete which depends on largely a one-to-many broadcasting methodology of content.

FIG. 4 is a flowchart that illustrates a method 400 for enabling collaboration between users, in accordance with at least one exemplary embodiment. The method starts at 402 and proceeds to 404.

At 404, an electronic device may be configured for executing a collaborative canvas application to create an interactive collaboration session amongst a plurality of users. At step 406, the electronic device may be configured for receiving one or more interactions associated with plurality of applications from plurality of users and each of plurality of applications are accessed natively by each of plurality of users. At step 408, the electronic device may be configured for synchronizing in real-time each of one or more interactions received from plurality of users for enabling collaboration between plurality of users. Control passes to end operation 410.

FIG. 5 is a block diagram of an exemplary computer system for implementing collaboration between users, in accordance with various exemplary embodiments of the present disclosure. The exemplary computer system 501 may comprise a central processing unit (“CPU” or “processor”) 502, an I/O interface 503, an input device 504, an output device 505, a transceiver 506, a network interface 507, a communication network 508, devices, such as 509, 510 and 511, storage interface 512, one or more memory devices, such as RAM 513, ROM 514, and memory device 515.

Variations of computer system 501 may be used for implementing collaboration between users. The computer system 501 may comprise a central processing unit (“CPU” or “processor”) 502. Processor 502 may comprise at least one data processor for executing program components for executing user- or system-generated requests. A user may include a person, a person using a device such as those included in this disclosure, or such a device itself. The processor 502 may include specialized processing units such as integrated system (bus) controllers, memory management control units, floating point units, graphics processing units, digital signal processing units, etc. The processor 502 may include a microprocessor, such as AMD Athlon, Duron or Opteron, ARM's application, embedded or secure processors, IBM PowerPC, Intel's Core, Itanium, Xeon, Celeron or other line of processors, etc. The processor 502 may be implemented using mainframe, distributed processor, multi-core, parallel, grid, or other architectures. Some exemplary embodiments may utilize embedded technologies like application-specific integrated circuits (ASICs), digital signal processors (DSPs), Field Programmable Gate Arrays (FPGAs), etc.

Processor 502 may be disposed in communication with one or more input/output (I/O) devices via I/O interface 503. The I/O interface 503 may employ communication protocols/methods such as, without limitation, audio, analog, digital, monoaural, RCA, stereo, IEEE-1394, serial bus, universal serial bus (USB), infrared, PS/2, BNC, coaxial, component, composite, digital visual interface (DVI), high-definition multimedia interface (HDMI), RF antennas, S-Video, VGA, IEEE 802.n/b/g/n/x, Bluetooth, cellular (e.g., code-division multiple access (CDMA), high-speed packet access (HSPA+), global system for mobile communications (GSM), long-term evolution (LTE), WiMax, or the like), etc.

Using the I/O interface 503, the computer system 501 may communicate with one or more I/O devices. For example, the input device 504 may be an antenna, keyboard, mouse, joystick, (infrared) remote control, camera, card reader, fax machine, dongle, biometric reader, microphone, touch screen, touchpad, trackball, sensor (e.g., accelerometer, light sensor, GPS, gyroscope, proximity sensor, or the like), stylus, scanner, storage device, transceiver, video device/source, visors, etc. Output device 505 may be a printer, fax machine, video display (e.g., cathode ray tube (CRT), liquid crystal display (LCD), light-emitting diode (LED), plasma, or the like), audio speaker, etc. In some exemplary embodiments, a transceiver 506 may be disposed in connection with the processor 502. The transceiver may facilitate various types of wireless transmission or reception. For example, the transceiver may include an antenna operatively connected to a transceiver chip (e.g., Texas Instruments WiLink WL1283, Broadcom BCM4750IUB8, Infineon Technologies X-Gold 618-PMB9800, or the like), providing IEEE 802.11a/b/g/n, Bluetooth, FM, global positioning system (GPS), 2G/3G HSDPA/HSUPA communications, etc.

In some exemplary embodiments, the processor 502 may be disposed in communication with a communication network 508 via a network interface 507. The network interface 507 may communicate with the communication network 508. The network interface may employ connection protocols including, without limitation, direct connect, Ethernet (e.g., twisted pair 10/100/1000 Base T), transmission control protocol/internet protocol (TCP/IP), token ring, IEEE 802.11a/b/g/n/x, etc. The communication network 508 may include, without limitation, a direct interconnection, local area network (LAN), wide area network (WAN), wireless network (e.g., using Wireless Application Protocol), the Internet, etc. Using the network interface 507 and the communication network 508, the computer system 501 may communicate with devices 509, 510, and 511. These devices may include, without limitation, personal computer(s), server(s), fax machines, printers, scanners, various mobile devices such as cellular telephones, smartphones (e.g., Apple iPhone®, Blackberry®, Android®-based phones, etc.), tablet computers, eBook readers (Amazon Kindle®, Nook, etc.), laptop computers, notebooks, gaming consoles (Microsoft Xbox®, Nintendo DS®, Sony PlayStation®, etc.), or the like. In some exemplary embodiments, the computer system 1101 may itself embody one or more of these devices.

In some exemplary embodiments, the processor 502 may be disposed in communication with one or more memory devices (e.g., RAM 513, ROM 514, etc.) via a storage interface 512. The storage interface may connect to memory devices including, without limitation, memory drives, removable disc drives, etc., employing connection protocols such as serial advanced technology attachment (SATA), integrated drive electronics (IDE), IEEE-1394, universal serial bus (USB), fiber channel, small computer systems interface (SCSI), etc. The memory drives may further include a drum, magnetic disc drive, magneto-optical drive, optical drive, redundant array of independent discs (RAID), solid-state memory devices, solid-state drives, etc.

The memory devices may store a collection of program or database components, including, without limitation, an operating system 516, user interface application 517, web browser 518, mail server 519, mail client 520, user/application data 521 (e.g., any data variables or data records discussed in this disclosure), etc. The operating system 516 may facilitate resource management and operation of the computer system 501. Examples of operating systems include, without limitation, Apple Macintosh OS X, UNIX, Unix-like system distributions (e.g., Berkeley Software Distribution (BSD), FreeBSD, NetBSD, OpenBSD, etc.), Linux distributions (e.g., Red Hat, Ubuntu, Kubuntu, etc.), IBM OS/2, Microsoft Windows (XP, Vista/7/8, etc.), Apple iOS, Google Android, Blackberry OS, or the like. User interface 517 may facilitate display, execution, interaction, manipulation, or operation of program components through textual or graphical facilities. For example, user interfaces may provide computer interaction interface elements on a display system operatively connected to the computer system 501, such as cursors, icons, check boxes, menus, scrollers, windows, widgets, etc. Graphical user interfaces (GUIs) may be employed, including, without limitation, Apple Macintosh operating systems' Aqua, IBM OS/2, Microsoft Windows (e.g., Aero, Metro, etc.), Unix X-Windows, web interface libraries (e.g., ActiveX, Java, Javascript, AJAX, HTML, Adobe Flash, etc.), or the like.

In some exemplary embodiments, the computer system 501 may implement a web browser 1118 stored program component. The web browser may be a hypertext viewing application, such as Microsoft Internet Explorer, Google Chrome, Mozilla Firefox, Apple Safari, etc. Secure web browsing may be provided using HTTPS (secure hypertext transport protocol), secure sockets layer (SSL), Transport Layer Security (TLS), etc. Web browsers may utilize facilities such as AJAX, DHTML, Adobe Flash, JavaScript, Java, application programming interfaces (APIs), etc. In some exemplary embodiments, the computer system 501 may implement a mail server 519 stored program component. The mail server may be an Internet mail server such as Microsoft Exchange, or the like. The mail server may utilize facilities such as ASP, ActiveX, ANSI C++/C#, Microsoft .NET, CGI scripts, Java, JavaScript, PERL, PHP, Python, WebObjects, etc. The mail server may utilize communication protocols such as internet message access protocol (IMAP), messaging application programming interface (MAPI), Microsoft Exchange, post office protocol (POP), simple mail transfer protocol (SMTP), or the like. In some exemplary embodiments, the computer system 401 may implement a mail client 520 stored program component. The mail client may be a mail viewing application, such as Apple Mail, Microsoft Entourage, Microsoft Outlook, Mozilla Thunderbird, etc.

In some exemplary embodiments, computer system 501 may store user/application data 1121, such as the data, variables, records, etc. as described in this disclosure. Such databases may be implemented as fault-tolerant, relational, scalable, secure databases such as Oracle or Sybase. Alternatively, such databases may be implemented using standardized data structures, such as an array, hash, linked list, struct, structured text file (e.g., XML), table, or as object-oriented databases (e.g., using ObjectStore, Poet, Zope, etc.). Such databases may be consolidated or distributed, sometimes among the various computer systems discussed above in this disclosure. It is to be understood that the structure and operation of the any computer or database component may be combined, consolidated, or distributed in any working combination.

Furthermore, one or more computer-readable storage media may be utilized in implementing exemplary embodiments consistent with the present invention. A computer-readable storage medium refers to any type of physical memory on which information or data readable by a processor may be stored. Thus, a computer-readable storage medium may store instructions for execution by one or more processors, including instructions for causing the processor(s) to perform operations or stages consistent with the exemplary embodiments described herein. The term “computer-readable medium” should be understood to include tangible items and exclude carrier waves and transient signals, i.e., non-transitory. Examples include Random Access Memory (RAM), Read-Only Memory (ROM), volatile memory, nonvolatile memory, hard drives, Compact Disc (CD) ROMs, Digital Video Disc (DVDs), flash drives, disks, and any other known physical storage media.

Various exemplary embodiments of the disclosure encompass numerous advantages including methods and systems for enabling collaboration between users. In an exemplary embodiment, the methods and systems may render content via the interactive collaboration session natively thereby improving quality and richness of experience while maximizing the collaboration. Secondly, as content may be rendered natively and plurality of users may interact with plurality of applications concurrently hence a better and efficient system for collaboration is implemented. Additionally, only the synchronization of interactions received from the plurality of users is performed rather synchronizing complete applications that are hosted on a third party or cloud server. This reduces the bandwidth requirement and the synchronization of interactions amongst the plurality of the applications is maintained in real time and there is no lag. Thus, the efficacy of system while enabling collaboration amongst plurality of uses is improved.

In contrast to the conventional approach of screen sharing, the disclosure enables plurality of users to interact with plurality of applications concurrently. Thus, the technical problems of real-time synchronization and the ability to concurrently interact with plurality of applications and across such plurality of applications is solved by implementing operations for creating, by a collaborative canvas application executing on an electronic device, an interactive collaboration session amongst a plurality of users; receiving, by the electronic device, one or more interactions associated with a plurality of applications from the plurality of users, wherein the plurality of applications are initiated within the interactive collaboration session, and wherein each of the plurality of applications are accessed natively by each of the plurality of users; and synchronizing in real-time, by the electronic device, each of the one or more interactions received from the plurality of users for enabling collaboration between the plurality of users.

The disclosure overcomes the aforementioned shortcomings of lag in synchronization by ensuring that each of the plurality of applications are accessed natively by each of the plurality of users when the interactive collaboration session is initiated. As a result, the method provides for efficient and accurate ways for lag free real-time synchronization of each of the one or more interactions received from the plurality of users for enabling collaboration between the plurality of users.

Thus, the claimed operations as discussed above are not routine, conventional, or well understood in the art, as the claimed operation enable the following solutions to the existing problems in conventional technologies.

The present disclosure may be realized in hardware, or a combination of hardware and software. The present disclosure may be realized in a centralized fashion, in at least one computer system, or in a distributed fashion, where different elements may be spread across several interconnected computer systems. A computer system or other apparatus adapted for carrying out the methods described herein may be suited. A combination of hardware and software may be a general-purpose computer system with a computer program that, when loaded and executed, may control the computer system such that it carries out the methods described herein. The present disclosure may be realized in hardware that comprises a portion of an integrated circuit that also performs other functions.

A person with ordinary skills in the art will appreciate that the systems, modules, and sub-modules have been illustrated and explained to serve as examples and should not be considered limiting in any manner. It will be further appreciated that the variants of the above disclosed system elements, modules, and other features and functions, or alternatives thereof, may be combined to create other different systems or applications.

Those skilled in the art will appreciate that any of the aforementioned operations and/or system modules may be suitably replaced, reordered, or removed, and additional operations and/or system modules may be inserted, depending on the needs of a particular application. In addition, the systems of the aforementioned exemplary embodiments may be implemented using a wide variety of suitable processes and system modules, and are not limited to any particular computer hardware, software, middleware, firmware, microcode, and the like. The claims can encompass exemplary embodiments for hardware and software, or a combination thereof.

While the present disclosure has been described with reference to certain exemplary embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope of the present disclosure. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the present disclosure without departing from its scope. Therefore, it is intended that the present disclosure not be limited to the particular exemplary embodiment disclosed, but that the present disclosure will include all exemplary embodiments falling within the scope of the appended claims.

Claims

1. A method, comprising:

creating, by a collaborative canvas application executing on an electronic device, an interactive collaboration session amongst a plurality of users;
receiving, by the electronic device, one or more interactions associated with a plurality of applications from the plurality of users, wherein the plurality of applications are initiated within the interactive collaboration session, and wherein each of the plurality of applications are accessed natively by each of the plurality of users; and
synchronizing in real-time, by the electronic device, each of the one or more interactions received from the plurality of users for enabling collaboration between the plurality of users.

2. The method of claim 1, further comprising integrating the collaborative canvas application within at least one of video conferencing tools, and online meeting tools.

3. The method of claim 1, wherein each of the plurality of users interact with the plurality of applications concurrently.

4. The method of claim 1, wherein the native access to applications corresponds to user accessing applications or files installed and/or stored on the electronic device.

5. The method of claim 1, wherein the one or more interactions comprises events performed by the plurality of users by using the electronic device or one or more device peripherals attached to the electronic device, wherein the events comprise at least one of a mouse click event, a scrolling event, a typing event, or a hover event.

6. An electronic device, comprising:

a hardware processor; and
a memory communicatively coupled to the hardware processor, wherein the memory stores processor instructions, which, on execution, causes the hardware processor to:
create by a collaborative canvas application that executes on the electronic device, an interactive collaboration session amongst a plurality of users;
receive one or more interactions associated with a plurality of applications from the plurality of users, wherein the plurality of applications are initiated within the interactive collaboration session, and wherein each of the plurality of applications are accessed natively by each of the plurality of users; and
synchronize in real-time each of the one or more interactions received from the plurality of users to collaborate between the plurality of users.

7. The electronic device of claim 6, wherein the hardware processor is further configured to integrate the collaborative canvas application within at least one of video conferencing tools, and online meeting tools.

8. The electronic device of claim 6, wherein each of the plurality of users interact with the plurality of applications concurrently.

9. The electronic device of claim 6, wherein the native access to applications corresponds to user accessing applications or files installed and/or stored on the electronic device.

10. The electronic device of claim 6, wherein the one or more interactions comprises events performed by the plurality of users by using the electronic device or one or more device peripherals attached to the electronic device, wherein the events comprise at least one of a mouse click event, a scroll event, a typing event, or a hover event.

11. A non-transitory computer readable medium having stored thereon, computer executable instructions, which when executed by at least one hardware processor in an electronic device, causes the electronic device to perform operations, the operations comprising:

creating an interactive collaboration session amongst a plurality of users;
receiving one or more interactions associated with a plurality of applications from the plurality of users, wherein the plurality of applications are initiated within the interactive collaboration session, and wherein each of the plurality of applications are accessed natively by each of the plurality of users; and
synchronizing in real-time each of the one or more interactions received from the plurality of users for enabling collaboration between the plurality of users.
Patent History
Publication number: 20210367986
Type: Application
Filed: May 5, 2021
Publication Date: Nov 25, 2021
Inventors: Nava DAVULURI (Sunnyvale, CA), Harish RAJAMANI (Hyderabad), Krishna YARLAGADDA (Sunnyvale, CA), Adi SUDHAKAR (Sunnyvale, CA), Prathyusha DANDA (Hyderabad), Ramanathan PARAMESHWARAN (Hyderabad)
Application Number: 17/308,916
Classifications
International Classification: H04L 29/06 (20060101); H04L 29/08 (20060101);