The embodiments herein relate to communication networks and, more particularly, to collaboration among a plurality of users in one or more communication networks.
Different communication networks are available to help users communicate and to help them share files over the communication network. The communication network can be a wired communication network, a wireless communication network, and so on, which enable the users to communicate with each other. For example, an email communication network allows sending and receiving of emails. Similarly, other types of messaging systems such as Instant Messaging (IM) applications also aid users in communicating. In addition to facilitating text, voice, or video based communications, these communication mediums also allows users to share data in the different file formats such as image, audio, video, or any other supported file formats as attachments. For example, a traditional email communication system allows users to send files as attachments such that the person who receives the email can download the attachment and use it. Further, most of these communication mediums can be used for personal as well as official communications.
Normally in official communications, important documents can be exchanged between team members, between different teams in an organization, and between officials of different organizations. When a message is sent with an attachment from one person to another, the sender does not have any further control over the file, which is sent as attachment. Further, the recipient of the message has to download the file to make any changes to the file. Further, in official scenarios wherein the file is sent for review to a person, the file needs to be downloaded, and after making sufficient edits and/or comment, the file must be sent back as an attachment. If there is no proper coordination between a person who drafted a report and reviewer, and if the reviewer has no clear idea as to what the person who drafted the report intends to convey, he/she can end up making unnecessary changes. This makes the whole process complicated in terms of time and work.
The embodiments herein will be better understood from the following detailed description with reference to the drawings, in which:
The embodiments herein and the various features and advantageous details thereof are explained more fully with reference to the non-limiting embodiments that are illustrated in the accompanying drawings and detailed in the following description. Descriptions of well-known components and processing techniques are omitted so as to not unnecessarily obscure the embodiments herein. The examples used herein are intended merely to facilitate an understanding of ways in which the embodiments herein can be practiced and to further enable those of skill in the art to practice the embodiments herein. Accordingly, the examples should not be construed as limiting the scope of the embodiments herein.
The embodiments herein disclose a mechanism for automatically converting a message to a collaboration session enabling a plurality of users to collaborate. Referring now to the drawings, and more particularly to
The message client 102 can act as an interface between the message server 101 and the collaboration server 103. The message client 102 can communicate with the message server 101 and the collaboration server 103 to provide access for the user to the messages stored in the message server 101. In an embodiment, the message client 102 can host built-in components and means for facilitating viewing, editing, versioning access, or access to comments in the message(s).
The collaboration server 103 can communicate with the user interface 104 and the message server 101 through at least one message client 102, to facilitate the message collaboration. The collaboration server 103 can monitor and identify messages with attachment(s) and initiate message collaboration. The collaboration server 103 can perform a security check on the message and/or attachment for the presence of a threat, such as a virus, malware, spyware or any other form of threat to the participant(s). The collaboration server 103 can perform authentication to ensure that participant(s) are authorized. The collaboration server 103 can further check and ensure that all participants of a message communication support message collaboration. In an embodiment herein, the collaboration server 103 can also enable the participant(s) to perform the steps, required for enabling support of message collaboration. In an embodiment herein, the collaboration server 103 can perform steps, so as to enable the participant(s) to support message collaboration, such as downloading at least one application to the device being used by the participant(s), installing the application on the device being used by the participant(s) (with implicit or explicit permission from the user), accessing a link provided to the participant, downloading a widget, and so on. The user interface 104 can provide a suitable interface for the user to communicate with the message collaboration system 100. The user interface 104 can further provide options for the user to manage the collaboration session and for viewing and/or editing the file being collaborated, as per requirements.
The file viewer and editor module 202 can provide means for at least one user to view, edit and perform any similar action on files within the message client 102. For example, other similar actions can be, but not limited to commenting on the document being collaborated, and viewing/editing the file within the message client 102. The file viewer and editor module 202 can be configured to check with the collaboration manager 201 if the user is authorized to perform the action, as being performed by the user.
The access management server 301 can host at least one means for authenticating a user who is trying to access the message system with which the message collaboration system 100 is associated. The access management server 301 can further monitor file access permissions of all users, and accordingly provide/deny access for certain users, to certain files/folders. The access management server 301 can use any suitable authentication mechanism to authenticate the user, as well as file access attempts.
The memory module 302 can be used to store any data in any format, which is required for message collaboration. For example, the data used for authenticating user and file access attempts can be stored in the memory module 302. Similarly, other data collected by the collaboration server 103 as part of the message collaboration process, such as but not limited to location information, IP address, device information, network information, history of previous message collaboration sessions, and so on.
The tracking module 303 can be used for tracking location of a user request/access. The location can be tracked in terms of country, state, city, latitude, longitude, IP address, MAC address and so on. The location information can be further used by the access management module 301 to block requests from unauthorized locations, as configured by a user. The tracking module 303 can further track and log action details such as but not limited to object, time, machine details, network details, and so on. The tracking module 301 can further track IP and/or MAC address of the machine from which the user request is originated. The access management module 301 can use this information to block request(s) originated from specific pre-defined user devices (as defined by an organizer or at least one other user in the collaboration session).
The notifications module 304 can notify all people who are part of the collaboration session if any action is performed on the collaboration. The notification module 304 can provide option(s) for each participant to receive or block such notifications. Further, the notifications module 304 can support notifications of different types such as but not limited to text message, voice message, email and flash message.
The online viewer/editor 305 can enable viewing and/or editing of files through a suitable interface such as a web browser, an application window, a widget and so on. The online viewer/editor 305 can further provide means for the user to customize the view. The versioning module 306 can maintain version information of each file. The versioning module 306 can, using a suitable unique identifier associated with the file, recognize each file and maintain corresponding version details in the memory module 302 or any dedicated storage space.
Upon identifying that the message has a file attached to it, the collaboration manager 201 in the message client 102 checks if all participants i.e. sender and targeted recipients of the message supports message collaboration. In another embodiment, the collaboration manager 201 can initiate the message collaboration if at least a required minimum number of participants support message collaboration, such that the required minimum number of participants can vary based on requirements, and can be configured by an authorized person. If all participants are found to have sufficient hardware/software/plug-in support to use the message collaboration feature, then the collaboration manager 201 uploads (412) the file to the collaboration server 103, and a share option is created. Further, the collaboration manager 201, which can be an add-on to the message client 102, converts (414) the file to collaboration format. Converting the file to the collaboration format can also involve converting message body to comments on the collaboration, and message subject can be used as a tag for the collaboration.
The collaboration manager 201 further adds the share option to the message, and forwards the message to the recipients. The recipients, upon receiving the message, can click on the share button or link, and begin the collaboration session. In an embodiment, the share option can be displayed to only those users whose system supports the message collaboration feature. Further, the file is made accessible (416) to the user who clicks on the share button or link, with proper editing and other collaboration options. A few examples of the options provided to the user are:
In a preferred embodiment, sender of the message can be provided options for configuring access permission of each recipient to the file/folder. In an embodiment, the sender can configure same access permission for all recipients. In another embodiment, the sender of the message can configure different access permissions for different recipients. For example, one user can be given permission to share the file/folder further, while other user cannot be allowed to share the file/folder. In another embodiment, the access permissions can be defined for versions of the file/folder such that same version of different files/folders can be assigned same access permissions.
In an embodiment, any access/edit attempt by a user can automatically initiate a new message window in the same message, and notification indicating the user's action(s) can be sent to other participants. In other embodiments, the message collaboration system 100 can support different types of collaboration such as, but not limited to, Virtual Data Room (VDR), and Structured collaboration (aka Workflow). VDR refers to collaboration sessions with certain legal requirements attached to them. For example, the files shared using VDR cannot be deleted. The structured collaboration can require the collaboration to be performed in a specific order. In such cases, the message collaboration system 100 can provide suitable options for configuring required settings as well as privileges as per requirements. The various actions in method 400 can be performed in the order presented, in a different order or simultaneously. Further, in some embodiments, some actions listed in
Now, consider one use-case scenario in which user ‘A’ is sending email to users B, C, and D. The message collaboration system 100 checks if the email contains at least one attachment. If there is no attachment, the email is sent in original format to all recipients. If there is any attachment in the email, the message collaboration system 100 checks if all or at least a minimum required recipients support message collaboration. If all or the minimum required recipients support message collaboration, then the message collaboration system 100 uploads the email and contents to the collaboration server 103, and creates a collaboration session. Further, the message collaboration system 100 shares with all recipients who support the message collaboration, a link to join and access contents of the collaboration session. Further, the users who receive the link can access the attachments, with proper editing and collaboration permissions.
The terms ‘user’, ‘recipient’ and ‘participant’ are used herein interchangeably and denote a user who is participating in the collaboration sessions, a user who desires to participate in the collaboration sessions, or a user who is intended to participate in the collaboration sessions, as disclosed herein.
The terms ‘file’ and ‘attachment’ are used herein interchangeably and denote a file which is associated with a message and can be collaborated upon by a plurality of users, as disclosed herein.
The embodiments disclosed herein can be implemented through at least one software program running on at least one hardware device and performing network management functions to control the network elements. The network elements shown in
The embodiments disclosed herein specify a system for message collaboration. The mechanism allows automatic conversion of a message to a collaboration session, providing a system thereof. Therefore, it is understood that the scope of protection is extended to such a system and by extension, to a computer readable means having a message therein, the computer readable means containing a program code for implementation of one or more steps of the method, when the program runs on a server or mobile device or any suitable programmable device. The method is implemented in a preferred embodiment using the system together with a software program written in, for ex. Very high speed integrated circuit Hardware Description Language (VHDL), another programming language, or implemented by one or more VHDL or several software modules being executed on at least one hardware device. The hardware device can be any kind of device which can be programmed including, for ex. any kind of a computer like a server or a personal computer, or the like, or any combination thereof, for ex. one processor and two FPGAs. The device can also include means which could be for ex. hardware means like an ASIC or a combination of hardware and software means, an ASIC and an FPGA, or at least one microprocessor and at least one memory with software modules located therein. Thus, the means are at least one hardware means or at least one hardware-cum-software means. The method embodiments described herein could be implemented in pure hardware or partly in hardware and partly in software. Alternatively, the embodiment can be implemented on different hardware devices, for ex. using a plurality of CPUs.
The foregoing description of the specific embodiments will so fully reveal the general nature of the embodiments herein that others can, by applying current knowledge, readily modify and/or adapt for various applications such specific embodiments without departing from the generic concept, and, therefore, such adaptations and modifications should and are intended to be comprehended within the meaning and range of equivalents of the disclosed embodiments. It is to be understood that the phraseology or terminology employed herein is for the purpose of description and not of limitation.