Multiple terminal collaboration system

Systems and methods relate to collaboration systems having multiple terminals per user. The collaboration system may include first and second collaboration agents, where the first collaboration agent is operable to transmit over a telecommunications network a collaboration call invitation from a first user first terminal associated with the first collaboration agent to a second user first terminal associated with a second collaboration agent; to connect a first communication session if the second user first terminal accepts the collaboration call invitation; to transmit a collaboration call handle to at least the first user first terminal and a first user second terminal associated with the first collaboration agent; to transmit a collaboration command from the first user second terminal to a second user second terminal associated with the second collaboration agent; and to connect a second communication session between the first user second terminal and the second user second terminal.

BACKGROUND

1. Field of Invention

This invention relates generally to communications, particularly to a collaboration system with multiple terminals.

2. Description of Related Art

Collaboration refers to processes wherein people work together to develop an idea, create a design, or generally achieve a shared goal. In a local environment, people collaborate in the confines of a cubicle, an office or a conference room, using tools such as a whiteboard, flip-charts, or a projector to share data information while exchanging ideas in a face-to-face fashion.

In the new economy of multi-national corporations, mobile work forces, home offices, outsourcing and globalization, remote collaboration becomes increasingly critical to the vitality of businesses.

Remote collaboration naturally begins with a telephone call. Oftentimes during the telephone conversation, a participant wants to send a document to others so they can continue their conversation over the document. In one example, a product manager wants to present a product proposal to his customer. In another example, a project manager wants to share an up-to-date schedule spreadsheet with her product development manager. In one example, a fashion designer wants to share a preliminary drawing of the summer fashion line with his advisor. In a further example, two software engineers want to discuss a piece of programming code.

There are many existing tools for collaboration, ranging from telephone, email, instant messaging, to elaborated integrated solutions such as the Microsoft Netmeeting, Skype, or Yahoo Messenger.

In one example, a manager uses her desktop telephone to call a human resource representative to discuss salary merit increases for the upcoming fiscal year. During the discussion, the human resource representative wants to share a document having a competitive salary analysis with the manager. The human resource representative sends the document as an email attachment. They have to wait until the manager receives the email before they can discuss the details of the document.

In another example, a hardware designer uses NetMeeting to discuss a prototype schematic with his manager. He calls the manager over the phone, to ask her to run the NetMeeting application on her personal computer, and log on to the corporate network. In the mean time, the hardware engineer will have to wait until his manager is ready.

In one embodiment, Jack, a salesperson, visits a customer. Jack calls a product manager in the corporate office about closing a deal with the customer. During discussion, the product manager wants to send Jack an updated price list through Yahoo Instant Messaging (IM) service. Jack has to log on to Yahoo IM service and start an instant messaging session with the product manager.

These tools, despite their respective functionalities, do not address the natural usage of collaboration which begins with a telephone call, and proceeds with other collaboration functions such as sharing a document.

Therefore, there is a need for a system to provide functionalities conforming to the natural progression of collaboration.

SUMMARY OF THE INVENTION

In accordance with one or more embodiments of the present invention, systems and methods relate to collaboration systems having multiple terminals per user. The collaboration system may include first and second collaboration agents, where the first collaboration agent is operable to transmit over a telecommunications network a collaboration call invitation from a first user first terminal associated with the first collaboration agent to a second user first terminal associated with a second collaboration agent; to connect a first communication session if the second user first terminal accepts the collaboration call invitation; to transmit a collaboration call handle to at least the first user first terminal and a first user second terminal associated with the first collaboration agent; to transmit a collaboration command from the first user second terminal to a second user second terminal associated with the second collaboration agent; and to connect a second communication session between the first user second terminal and the second user second terminal.

According to one or more embodiments of the present invention, a method of collaborating using a telecommunications system may include transmitting a collaboration call invitation from a first user first terminal associated with the system to a second user first terminal associated with the system; connecting a first communication session if the second user accepts the collaboration call invitation; transmitting a collaboration call handle to at least the first user first terminal and a first user second terminal associated with the system; transmitting a collaboration command from the first user second terminal to a second user second terminal associated with the system; and connecting a second communication session between the first user second terminal and the second user second terminal.

According to one or more embodiments of the present invention, a system for collaborating between a first user and a second user using a telecommunications network may include a first collaboration platform and a second collaboration platform; wherein the first collaboration platform includes a first user first terminal, a first user second terminal, and a first collaboration agent; and a second collaboration platform includes a second user first terminal, a second user second terminal, and a second collaboration agent.

According to one or more embodiments of the present invention, a product of the present invention may include a computer program product tangibly stored on a computer usable medium and containing instructions operable to cause a computer to perform a method in accordance with the present invention.

The advantages of this invention are best understood after reading the detailed technical description, and in relation to existing collaboration processes. Nonetheless, some of the advantages include a more natural flow of collaboration being with a phone call; a more user-friendly form of spontaneous collaboration involving exchange of data, including electronic documents, images and video; and a combination of collaboration functionalities that hopefully make collaborating easier, more effective and more efficient.

Other aspects, features, advantages, etc. will become apparent to one skilled in the art when the description of the invention herein is taken in conjunction with the accompanying drawings.

DETAILED DESCRIPTION

Referring toFIG. 1A, a block diagram illustrates a telecommunications system100for collaboration. A telecommunications collaboration system100may include a collaboration network179having collaboration platforms120and180. Collaboration platform120may allow a first user110to collaborate with a second user190using collaboration platform180.

Exemplary embodiments of collaboration network179may include, for instance, a voice network, such as a Voice over IP (VoIP) network; an Instant Message (IM)-based voice network; a corporate voice network; or a Public Switched Telephone Network (PSTN). Other embodiments of a collaboration network179may include, as well, for instance, a data network, such as the Internet; a service provider data network; a corporate data network; or a corporate virtual private network (VPN).

Collaboration may arise in almost any context and for almost any reason. Commonly, however, user110may collaborate with user190for a business purpose, such as negotiating a contract, designing a fashion line, solving a field problem, brainstorming a marketing strategy, or finalizing a financial settlement.

Collaboration platform120may provide a plurality of collaboration functionalities. In one embodiment, a collaboration functionality may include a conversational functionality. User110may use the conversational functionality to talk with user190. In one embodiment, a collaboration functionality may include a document exchange functionality. User110may use the document exchange functionality to share a document with user190. In one embodiment, the document exchange functionality may include sending, receiving, or displaying the document.

User110and user190may collaborate over a collaboration call178between collaboration platform120and collaboration platform180. Collaboration call178may include a voice communication session. User110may talk with user190over the voice communication session. Collaboration call178may include a data communication session. User110may send or receive a document over the data communication session. In one embodiment, users110and190may converse while exchanging a document.

Referring toFIG. 1B, a block diagram illustrates an exemplary collaboration platform120,180. Collaboration platform120may include a collaboration agent129and at least two terminals121,123. Collaboration agent129and terminals121and123may communicate over a terminal network127.

Terminal network127may provide voice transport capabilities and data transport capabilities. In one embodiment, terminal network127may include an Internet Protocol (IP) network. In one embodiment, the voice transport capabilities may enable a Voice over IP (VoIP) call. In one embodiment, the voice transport capabilities may enable an Instant Message (IM)-based voice call. In one or more embodiments, terminal network127may include the Internet; a General Packet Radio Service (GPRS) network; a service provider terminal network; a corporate data network; or a corporate virtual private network (VPN). In another embodiment, terminal network127may include a cellular network, such as a CDMA2000 network; a Wideband Code Division Multiple Access (W-CDMA) network; a third-generation (3G) network; a CDMA 1x Evolution-Data Optimized (1xEV-DO) network; a High-Speed Downlink Packet Access (HSDPA) network; or an Enhanced Data Rates for GSM Evolution (EDGE) network. In a further embodiment, terminal network127may include a wired network, such as an Ethernet; or a wireless network, such as a Wi-Fi network. In one embodiment, terminal network127may include a system bus. In an additional embodiment, terminal network127may include an application programming interface (API).

Terminal121and terminal123are two separate computing devices. Terminal121may include a network interface module associated with network address1211. In one embodiment, network address1211may include an IP address. In another embodiment, network address1211may include a system bus address. In a further embodiment, network address1211may include a functionality name. Terminal121may use network address1211to communicate with collaboration agent129. Similarly, terminal123may include a network interface module associated with network address1231. Network address1211differs from network address1231.

Collaboration agent129may include a network interface module associated with network address1291. Using network addresses1291, collaboration agent129may communicate with terminal121, via network address1211, and/or terminal123, via network address1231. Terminals121and123may provide a user interface to user110to access one or more collaboration functionalities in furtherance of the communication between collaboration agent129and terminal121,123.

Terminal121may include voice capabilities that support the conversational functionality. For instance, terminal121may include voice processing capabilities, such as conversion of voice signals between analog and digital; conversion between different digital voice signals; compressing and decompressing digital voice signals; jitter buffer management; or voice activity detection. Terminal121may include voice network capabilities for establishing a voice communication session, and for sending and receiving voice signals over the voice communication session. Terminal121may include a voice output device, such as a speaker, and a voice input device, such as a microphone. Terminal121may include an input device, such as a dial pad, a stylus, or navigation keys for user110to make or receive a collaboration voice call.

Terminal121may include terminal capabilities list1213. Terminal capabilities list1213may describe the voice capabilities of terminal121. In one embodiment, terminal capabilities list1213may include a description of voice networking capabilities for transmitting and receiving voice signals over terminal network127. In another embodiment, terminal capabilities list1213may include a description of voice processing capabilities, such as media transfer protocols; supported codecs; data transfer frame rates; jitter buffer parameters; and/or voice encryption methods. In a further embodiment, terminal capabilities list1213may include speaker and/or microphone specifications, such as dynamic range or frequency range.

In one or more embodiments, terminal121may include, for instance, a desk phone, a corporate desk phone, a cellular phone, a video phone, a smart-phone, an IP-phone, a customer service representative (CSR) terminal, or voice conferencing equipment.

Terminal123may include data capabilities that support the document exchange functionality. Terminal123may include data network capabilities for establishing a data communication session and for sending and receiving a document119over the data communication session. In one embodiment, document119may include a text document. In another embodiment, document119may be a spreadsheet. In a further embodiment, document119may be a PowerPoint presentation. In an additional embodiment, document119may include a media file, such as an image, a video clip, or a voice file. In one embodiment, terminal123may include a display, such as a graphical display screen for displaying document119. In another embodiment, terminal123may include document processing capabilities, such as editing, or encrypting/decrypting document119. In a further embodiment, terminal123may include an input device, such as a keyboard, a mouse, a touch-screen or a stylus for user110to select, send, receive, display or edit document119.

Terminal123may include terminal capabilities list1233. Terminal capabilities list1233may describe the data capabilities of terminal123. In one embodiment, terminal capabilities list1233may include a description of data network capabilities for transmitting and receiving documents over a terminal network. In another embodiment, terminal capabilities list1233may include a description of data processing capabilities, such as supported protocols for document transfer; document encryption methods; or supported document types. In a further embodiment, terminal capabilities list1233may include display characteristics, such as display screen size, display resolution, or display color depth.

In one or more embodiments, terminal123may be a computer, a personal desktop computer, a laptop computer, a Personal Data Assistant (PDA), a smart-phone, a point-of-sale (POS) terminal, an automated teller machine, a computer-aided vending machine, a computer-aided kiosk, or a data conferencing equipment.

Collaboration agent129may include terminal capabilities list1213and terminal capabilities list1233. In one embodiment, collaboration agent129may obtain terminal capabilities list1213from terminal121, and/or list1233from terminal123. Collaboration agent129may select a terminal to handle a collaboration functionality during collaboration call178based on terminal capabilities lists1213,1233. In one embodiment, collaboration agent129may select terminal121to handle the conversational functionality based on terminal capabilities list1213, while terminal123is selected to handle the document exchange functionality, based on terminal capabilities list1233.

Referring toFIG. 2, a block diagram illustrates data flow between collaboration components during a collaboration call178. Collaboration platform120may include collaboration agent129, terminals121and123. Terminal121may include voice capabilities that support conversational functionality. Terminal123may include data capabilities that support document exchange functionality. Terminal121may include network address1211.

Collaboration platform180may include collaboration agent189, terminals181and183. Terminal181may include voice capabilities that support conversational functionality. Terminal183may include data capabilities that support document exchange functionality. Collaboration agent189may include terminal capabilities list1813for terminal181and terminal capabilities list1833for terminal183.

Although depicted as having two separate collaboration platforms120and180, collaboration platforms120and180in actuality may be one collaboration platform interfacing with two separate users110and190. The system100is not limited to situations where collaboration occurs between two distinct users110and190associated with two distinct platforms120and180. In fact, the situation often may arise, such as between co-workers at a company office complex, where both users110and190are associated with the same collaboration platform120and their terminals121,123,181, and183are associated with a single collaboration agent129.

Referring toFIG. 3, a flow diagram illustrates actions that may be carried out to perform a collaboration call process300in accordance with one or more embodiments of the present invention. An exemplary collaboration call process300may include some or all of the enumerated actions. Portions of the data flow for actions associated with process300are illustrated inFIG. 2.

The following actions outline collaboration call process300:

In action302of process300, user110may use collaboration platform120to initiate a collaboration call178to collaboration platform180used by user190. In one embodiment, user110may initiate collaboration call178using the conversational functionality. In one embodiment, user190may have a collaboration number291. The collaboration number291may include a network address for terminal181. In one embodiment, collaboration number291may be a telephone number. Moreover, the telephone number may correspond to the network address for terminal181. In another embodiment, collaboration number291may be a user name. In a further embodiment, collaboration number291may be an employee number. In an attempt to communicate with user190, user110may input collaboration number291using terminal121.

In action304, terminal121may compose and send a collaboration invitation225for collaboration call178. Composing may include taking available information and packaging it in a format usable to a recipient computer. The available information may include both information input by the user110, as well as information known to the composing terminal121. Collaboration invitation225may include collaboration number291. In one embodiment, collaboration invitation225may include network address1211. Terminal121may send collaboration invitation225to collaboration agent129.

In action306, collaboration agent129may receive and process collaboration invitation225from terminal121. Collaboration agent129may extract network address1211and collaboration number291from collaboration invitation225. Based on collaboration number291, collaboration agent129may determine collaboration agent189as the destination of collaboration call178.

In action308, according to one embodiment, collaboration agent129may connect and consult with a datastore279. In one embodiment, datastore279may include, for instance, memory, flash memory, or a hard disk. In another embodiment, for example, datastore279may include a database. Datastore279may include a plurality of collaboration numbers wherein each collaboration number, e.g., number291, may be associated with a collaboration agent, e.g., agent189. In this illustration, datastore279may include collaboration number291and associated collaboration agent189. Collaboration agent129may search for collaboration number291within the datastore279and identify collaboration agent189as the intermediate destination of collaboration call178.

In action310, collaboration agent129may compose and send a collaboration invitation275. Collaboration invitation275may indicate that conversational functionality is requested. Collaboration invitation275optionally may include network address1211. Collaboration agent129may send collaboration invitation275to collaboration agent189.

In action312, collaboration agent189may receive and process collaboration invitation275. Based on the indicated conversational functionality in collaboration invitation275, collaboration agent189may select terminal181based on terminal capabilities list1813.

In action314, collaboration agent189may compose and send a collaboration invitation285. In one embodiment, collaboration agent189may extract network address1211from collaboration invitation275and include network address1211into a collaboration invitation285. Collaboration agent189may send collaboration invitation285to terminal181.

In action316, terminal181may receive and process collaboration invitation285. In one embodiment, terminal181may extract network address1211from collaboration invitation285and notify user190of the incoming collaboration invitation285.

Although the collaboration invitations225,275and285are addressed individually for purposes of describing the details of process300, collaboration invitations225,275, and285may be conceptualized as first, second and third parts of one collaboration invitation sent from terminal121to terminal181, passing through collaboration agents129and189. Depending on the implementation of the system100and process300, collaboration invitations225,275and285may be substantially identical, or they may be modified at each collaboration agent129,189.

In action318, user190may use terminal181to establish voice communication session270with terminal121, either directly using network address1211, or indirectly via collaboration agent189and collaboration agent129. Establishing, or initiating, voice communication session270may include sending an acceptance command, signifying that the user190has accepted the invitation, instructing the system100to transmit voice communication signals, and instructing terminal181to process the transmitted voice signals it receives. The voice session270is connected when the system100executes the acceptance command. Voice communication session270may comprise, for example, three voice communication session parts271,272and273. Terminal181may establish voice communication part271with collaboration agent189. Collaboration agent189may establish voice communication part272with collaboration agent129. Collaboration agent129may establish voice communication session part273with terminal121.

In action320, a collaboration call handle226may be sent by collaboration agent129to terminals121and123. Likewise, collaboration agent189may send collaboration call handle226to terminals181and183. Collaboration call handle226may reference collaboration call178.

In action322, terminals121and123may receive and process collaboration call handle226. Likewise, terminals181and183may receive and process collaboration call handle226.

Receipt of the collaboration call handle226enables a user110,190to initiate a second communication session280of collaboration call178, which in process300would be a data communication session280, using the second terminals, here data terminals123and183. Once initiated, the second communication session280, here data communication session280, is connected when a collaboration command is executed, here communicating data between terminal123and183.

In action324, user110may instruct terminal123to transmit a specified document119. While user110is conversing with user190over voice communication session270, user110may want to send a document119to user190. In one embodiment, user110may use terminal123to enter or select the file name and/or directory location of document119.

In action326, terminal123may obtain document119, or a copy thereof. In one embodiment, terminal123may obtain document119from a storage device, such as a hard disk in terminal123. In another embodiment, terminal123may obtain document119from a network.

In action328, terminal123may compose and send a document transmission command227to collaboration agent129. Document transmission command227may include collaboration call handle226. In one embodiment, document transmission command227may include document119.

In action330, collaboration agent129may receive and process document transmission command227. Collaboration agent129may extract collaboration call handle226and document119from document transmission command227. Based on collaboration call handle226that references collaboration call178, collaboration agent129may determine collaboration agent189as the destination for receiving document119.

In action332, collaboration agent129may compose and send a document transmission command277. In one embodiment, document transmission command277may include document119. Collaboration agent129may send document transmission command277to collaboration agent189.

In action334, collaboration agent189may receive and process document transmission command277. Collaboration agent189may extract document119from document transmission command277. Collaboration agent189may select terminal183for receiving document119based on terminal capabilities list1833.

In action336, collaboration agent189may compose and send a document transmission command287. In one embodiment, document transmission command287may include document119. Collaboration agent189may send document transmission command287to terminal183.

Although the document transmission commands227,277and287are addressed individually for purposes of describing the details of process300, document transmission commands227,277and287may be conceptualized as first, second and third parts of one document transmission command sent from terminal121to terminal181, passing through collaboration agents129and189. Depending on the implementation of the system100and process300, document transmission commands227,277and287may be substantially identical, or they may be modified at each collaboration agent129,189. Moreover, document transmission commands227,277and287, and the single “document transmission command” concept, are all variations of a broader concept, the collaboration command, which may be sent between terminals121and181to perform any of the collaboration functionalities, such as share video, share desktops, text message, etc.

In action338, terminal183may receive and process document transmission command287. Terminal183may extract document119from document transmission command287. In one embodiment, terminal183may display document119on a graphical display screen of terminal183. Terminal123may display document119on another graphical display screen of terminal123. Users110and190may discuss document119over voice communication session270.

The following scenario illustrates an exemplary embodiment of the present invention. A first person (user110) may initiate (action302) a phone call (collaboration call178) on a first phone (first voice terminal121) to a second person (user190) having a second phone (second voice terminal181), where the first and second phones121,181are associated with a telecommunications collaboration system100according to the present invention. The system100recognizes that the phone call178is between two system phones121,181and treats the phone call178according (e.g., actions304-314). For example, the phones may be office desk phones within a company network (collaboration network179).

The second phone181rings (e.g., action316) to notify the second user190of the call178. When the second user190answers the phone call178using the second phone181(e.g., action318), the system100connects the call178to the first phone121and potentially notifies the first phone121, the second phone181, the first user's logged-on desktop computer (first data terminal123) sitting next to the first phone121, and the second user's logged-on desktop computer (second data terminal183) sitting next to the second phone181, of the collaboration call handle226(e.g., action320).

In processing the call handle226(action322), the each of the two computers123,183may cause a pop-up window to appear on the user's display, advising the user of any collaboration functionalities associated with the collaboration call178. This pop-up window may function similarly to an IM pop-up and/or a remote assistance pop-up, as examples. For instance, either user may share the other's desktop, send documents to the other user, or text message the other user.

In the above-described process300, the first user110desires to send the second user190a document119. To do this, the first user110may select, for example, a “share document” button in the collaboration pop-up and identify the document119to be shared (action324). The system100then may share the document119(actions326-336) so that the second user's computer183displays the document119(action338) for the second user190to view, and possibly edit and/or save, depending on how the document119was shared.

Whenever desired, either user110,190may terminate the voice communication session270by hanging up the phone and/or terminate the data communication by closing out the collaboration pop-up window. As long as either the voice communication session270or the data communication session is active, the collaboration call178remains active and either user may be able to reactivate the previously terminated session.

Analogous to having the data communication session active and having terminated the voice communication session270is the situation where the first user110initiates the data communication session280first by sending a collaboration invitation first to the second user's computer183. Until this point, the data communication-initiated & data communication-based collaboration call178resembles an Instant Message. However, because the two computers123and183are associated with system100, the collaboration pop-up may allow the users to virtually dial the phones121,181associated with the system100to initiate a voice session270.

Unlike IM-based voice communication, the voice session270would be a phone-to-phone call independent of the data communication session. For example, the system100may establish the voice session270using modified call-back technology (also known as direct inbound dialing), initiated, however, via data session280instead of through a phone call, similar in par to Web callback technology. Unlike Web callback technology, though, the system100would ring user110first and then user190second without user110needing to dial the phone number of user190. Such an arrangement resembles a combination of Web callback and operator-assisted dialing.

Although a properly configured version of MS Outlook™ allows a user to dial a person's phone number, if the person and the phone number are stored as a Contact in the Contact folder, this Outlook™-based initiation of a voice session270is not associated with a pre-existing data communication session280. Moreover, even though this Outlook™-based initiation of a voice session270is data communication-initiated voice call, it is not a data communication-initiated & data communication-based collaboration call178according to the present invention. Rather, the Outlook™-based dialing uses the computer modem to initiate a VoIP call (including a VoIP-to-PSTN call), which means that the computer acts as both the voice terminal and the data terminal in one, which is outside the scope of the present invention. This Outlook™-based dialing scenario requires the user110to sign into .Net Messenger Service because the phone call is made from MS Windows Messenger.

In one embodiment, terminal181may establish voice communication session270using Session Initiation Protocol (SIP). In some embodiments, voice communication session270may include a Real-time Transport Protocol (RTP) session. In another embodiment, terminal181may establish voice communication session using H.323 protocol.

In one embodiment, terminal123may send and receive document119using File Transfer Protocol (FTP). For example, terminal123may use FTP protocol to send document119to collaboration agent129. In a similar fashion, collaboration agent129may use FTP protocol to send document119to the recipient, terminal183. In one embodiment, terminal123or183may send or receive documents using Hypertext Transfer Protocol (HTTP).

In one embodiment, terminal123may use other means to send documents. In one example, document119may reside in collaboration network179, and terminal123may include the identity and location of document119in document transmission command227. In one embodiment, collaboration agent129, as the receiving agent, may retrieve the identified document119from collaboration network179and send document119to terminal183, the intended recipient.

In one embodiment, collaboration platform120,180may include additional collaboration functionalities, such as video communication, text chat, white-boarding or co-editing of a document. In one embodiment, a terminal123,183may include capabilities to support one or more additional collaboration functionalities. In one example, a terminal123,183may include a video camera to support video communication functionality.

In one embodiment, a collaboration call178may involve three or more collaboration platforms120,180in a multiparty conference setting.

In one embodiment, collaboration may be used during a commercial transaction such as an auction, a gaming transaction, such as a card game or a betting game, a ticket order, a price quote, or a product purchase. In another embodiment, collaboration may be used for product or service customer support, a product information inquiry, a service call, and/or service appointment scheduling.