1. Technical Field
The present invention relates in general to improved messaging systems and in particular to improving distribution of logs of entries in instant messaging sessions. Still more particularly, the present invention relates to facilitating distribution of instant messaging session logs to users entering an already ongoing instant messaging session.
2. Description of the Related Art
The use of electronic messaging and communications, such as electronic mail (e-mail), instant messaging, and text messaging has expanded rapidly over the last few years. Typically, an e-mail application, such as Lotus Notes (Lotus Notes is a registered trademark of International Business Machines Corporation), provides a user interface between the user and an e-mail server that sends and receives e-mail via a network, such as the Internet. In addition, typically, instant messaging applications and chat applications, such as AOL Instant Messenger (AIM) (AOL and AIM are registered trademarks of AOL, Inc.), provide a user interface between the user and an instant messaging server that opens a communication channel between at least two users and facilitates distribution of messages through that communication channel.
Since instant messaging is essentially “real-time” communication, this type of electronic communication is often used when users need to communicate immediately about a particular topic. As it evolves, instant messaging is commonly used as a substitute for telephone calls because the conversation can happen in “real-time” but all parties to the messaging session can remain at their computer system or portable electronic device and respond when needed.
However, since instant messaging sessions provide “real-time” communication, when additional users joins an instant messaging session already ongoing between two or more original participants, the additional users only sees those messages entered by the additional users and the original participants after the additional users joins the ongoing messaging session. In many cases, however, it is limiting for additional users not to know the contents of the previous conversation within that particular instant messaging session.
Therefore, in view of the foregoing, it would be advantageous to provide a method, system, and program for recording a log of those entries made in a messaging session at the point an additional user joins the messaging session while it is ongoing and distributing the log to the additional user. Further, it would be advantageous to enable the original users of the ongoing messaging session to edit previous messaging entries or selection only particular message entries to distribute to the additional user in the log. Moreover, where instant messaging is used in a business context or other context where a third party is represented, it would be advantageous to apply third party rules to how instant messaging logs can be distributed.
Therefore, the present invention provides an improved messaging systems and in particular provides an improved method, system, and program for improving distribution of logs of entries in instant messaging sessions. Still more particularly, the present invention provides a method, system, and program for facilitating distribution of instant messaging session logs to users entering an already ongoing instant messaging session.
The present invention provides for improved control over the recording, sharing, editing, and storing of messaging session logs. In particular, a logging controller may control the recording, sharing and editing of messaging session logs according to logging rules. A user, group of users, or third party may specify the logging rules applied by the logging controller.
As for sharing and editing messaging session logs, in one example, when a first and second user are participating in an ongoing instant messaging session and an additional user enters the instant messaging session, initially the additional user can only see those entries in the instant messaging session that occur after the additional user enters the messaging session. In many cases, the additional user needs to view the entries in the messaging session prior to the point of entry. Therefore, according to one advantage, a logging controller automatically records a log of all the entries in the messaging session when the logging controller detects the entrance of an additional user to an ongoing messaging session. Then, in one example, the logging controller provides a selectable option for the first or second user, the selection of which triggers the logging controller to pass the log of previous entries to the additional user. According to another example, the first or second user may select to view the log and select or edit those entries within the log of previous entries that the logging controller may pass to the additional user. According to yet another example, either the first or second user may select to view the log and select those entries within the log of previous entries to add to the current messaging session that includes the first user, second user, and additional user.
According to another advantage, a logging controller enables the merging of multiple independent messaging sessions into a single messaging session. When a user or a controller selects to merge a first messaging session into a second messaging session to form a group messaging session, the users in the first messaging session do not see the previous entries in the second messaging session and the users in the second messaging session do not see the previous entries in the first messaging session, but all the users will see all entries entered after the merging point. According to an advantage, logging controller may automatically transfer the log of the first messaging session to the users from the second messaging session and the log of the second messaging session to the users from the first messaging session. In another example, one of the users of the first messaging session may select for the logging controller to pass the log of the first messaging session to users from the second messaging session. Further, as previously described, the logging controller enables users to edit a log before the log is sent to another user and to select portions of the log to add to a current messaging session log.
The interfaces through which an additional user, who upon entering an ongoing messaging session receives a log of previous entries, may vary. In one example, the additional user may view the log in a window independent from the window displaying the current messaging session entered by the additional user. In another example, the additional user may view the log a window split between the log and the current messaging session entered by the additional user.
When the participants in a messaging session end the messaging session, the logging controller stores a log of the messaging session with data tagging the entry and exit point of participants, the portions of the message log shared with additional users, and the editing performed by users. In one example where the logging controller merges multiple messaging sessions, the logging controller may store a copy of the log of the merged messaging session in the group project folders of each of the merged messaging session groups.
Further, when the participants in a merged messaging session end the messaging session, the logging controller enables users to select to reconvene the merged messaging session with a single input selection. In the request to reconvene users may select that all previous attendees are prompted to join and the log of the previous merged messaging session replayed. In addition, if the merged messaging session is reconvened, the logging controller may monitor when any previous participants become available and prompt the newly available previous participants to join the reconvened messaging session.
The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself however, as well as a preferred mode of use, further objects and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:
Referring now to the drawings and in particular to
Computer system 100 includes a bus 122 or other communication device for communicating information within computer system 100, and at least one processing device such as processor 112, coupled to bus 122 for processing information. Bus 122 includes low-latency and higher latency paths connected by bridges and adapters and controlled within computer system 100 by multiple bus controllers. When implemented as a server system, computer system 100 typically includes multiple processors designed to improve network servicing power.
Processor 112 may include a general-purpose processor such as IBM's PowerPC™ processor that, during normal operation, processes data under the control of operating system and application software accessible from a dynamic storage device, such as random access memory (RAM) 114, and a static storage device, such as Read Only Memory (ROM) 116. The operating system may provide a graphical user interface (GUI) to the user. In a preferred embodiment, application software contains machine executable instructions that when executed on processor 112 carry out the operations depicted in the flowcharts of
A computer program product may incorporate the present invention, where the computer program product is implemented through a machine-readable medium having stored thereon the machine executable instructions used to program computer system 100 to perform a process according to the present invention. The term “machine-readable medium” as used herein includes any medium that participates in providing instructions to processor 112 or other components of computer system 100 for execution. Such a medium may take many forms including, but not limited to, non-volatile media, volatile media, and transmission media. Common forms of non-volatile media include, for example, a floppy disk, a flexible disk, a hard disk, magnetic tape or any other magnetic medium, a compact disc ROM (CD-ROM) or any other optical medium, punch cards or any other physical medium with patterns of holes, a programmable ROM (PROM), an erasable PROM (EPROM), electrically EPROM (EEPROM), a flash memory, any other memory chip or cartridge, or any other medium from which computer system 100 can read and which is suitable for storing instructions. In the present embodiment, an example of a non-volatile medium is mass storage device 118 which as depicted is an internal component of computer system 100, but may also be implemented as an external component. Volatile media include dynamic memory such as RAM 114. Transmission media include coaxial cables, copper wire or fiber optics, including the wires that comprise bus 122. Transmission media can also take the form of acoustic or light waves, such as those generated during radio frequency or infrared data communications.
Moreover, computer system 100 may download the present invention as a computer program product, receiving the program instructions from a remote computer such as a server 140 by way of data signals embodied in a carrier wave or other propagation medium via a network link 134 (e.g. a modem or network connection) to a communications interface 132 coupled to bus 122. Communications interface 132 provides a two-way data communications coupling to network link 134 that may be connected, for example, to a local area network (LAN), wide area network (WAN), or directly to an Internet Service Provider (ISP). In particular, network link 134 may provide wired and/or wireless network communications to one or more networks.
Network link 134 in turn provides data communication services through network 102. Network 102 may refer to the worldwide collection of networks and gateways that use a particular protocol, such as Transmission Control Protocol (TCP) and Internet Protocol (IP), to communicate with one another. Network link 134 and network 102 both use electrical, electromagnetic, or optical signals that carry digital data streams. The signals through the various networks and the signals on network link 134 and through communication interface 132, which carry the digital data to and from computer system 100, are exemplary forms of carrier waves transporting the information.
When implemented as a server system, computer system 100 typically includes multiple communication interfaces (not depicted) accessible via multiple peripheral component interconnect (PCI) bus bridges (not depicted) connected to an input/output controller (not depicted). In this manner, computer system 100 allows connections to multiple systems via network 102.
In addition, computer system 100 typically includes multiple peripheral components that facilitate communication. These peripheral components are connected to multiple controllers, adapters, and expansion slots coupled to one of the multiple levels of bus 122. For example, an audio output device 128 and audio input device 129 are connectively enabled on bus 122 for controlling audio outputs and inputs. A display device 124 is also connectively enabled on bus 122 for providing visual, tactile or other graphical representation formats and a cursor control device 130 is connectively enabled on bus 122 for controlling the location of a pointer within display device 124. A keyboard 126 is connectively enabled on bus 122 as an interface for user inputs to computer system 100. In alternate embodiments of the present invention, additional input and output peripheral components may be added.
Those of ordinary skill in the art will appreciate that the hardware depicted in
With reference now to
In the embodiment, distributed network 200 includes network 102, which is the medium used to provide communications links between various devices and computers connected together within distributed network 200. Network 102 may include permanent connections, such as wire or fiber optics cables, and temporary connections made through telephone connections and wireless transmission connections, for example.
In the depicted example, network 102 enables communicative connection between a communication server 204 and three client systems 208, 210, and 212. It will be understood that each of communication server 204 and client systems 208, 210, and 212 may be distributed in geographically disparate locations throughout heterogeneous types of computing systems operating within disparate local networks. In addition, it will be understood that distributed network 200 may include additional servers, clients, networks, and other devices that are not shown.
In one embodiment, distributed network 200 implements a client/server environment where communication server 204 performs as a server for responding to requests and client systems 208, 210, and 212 perform as clients requesting messaging services from collaboration communication server 204. Many different network architectures may implement the client/server environment of distributed network 200. In one example, distributed network 100 is the Internet with network 102 representing a worldwide collection of networks and gateways that use the TCP/IP suite of protocols to communicate with one another. Millions of high-speed data communication lines between major nodes or host computers enable the Internet. In another example, distributed network 200 includes an intranet, a local area network (LAN), or a wide area network (WAN). Moreover, distributed network 200 may include networks employing alternatives to a traditional client/server environment, such as a grid computing environment.
Within distributed network 200, each of client systems 208, 210, and 212 and communication server 204 may function as both a “client” and a “server” and may be implemented as a computer through a single or multiple computer systems, such as computer system 100 of
In particular, communication server 204 includes a messaging service provider 202 that facilitates one or more types of messaging communications. Messaging communications, performed in the form of messaging sessions, include, but are not limited to, instant messaging communications, chat room communications, text messaging, short message service (SMS) messaging, VoIP, and other forms of electronic communications that occur in “real-time” and are supported within distributed network 200. A “messaging session” describes a particular communication channel opened for real-time communication via network 102 between at least two users. Each user participating in a messaging session communicates through message entries which may include text, voice, video, graphics, robotic touch, motion entry, and tactile entry. An additional user may enter an already ongoing messaging session, but like a telephone conversation which occurs in real-time, the additional user initially only receives those message entries entered by users after the additional user joins.
It is important to note that for messaging communications, a single or multiple user identifiers (userIDs) may identify a single user, including, but not limited to, an e-mail address, an IM name, a chat name, a telephone number, and other electronic communication identifiers. In addition, a user may have a work user ID and a personal user ID. In addition, a user's ID may vary based on the device at which the user participates in a messaging session.
To facilitate messaging communications with messaging service provider 202, each of client systems 208, 210, and 212 include an agent, such as agents 220, 222, and 224, that enables a user at each of client systems 208, 210, and 212, through a supported user interface, to initiate a messaging session through messaging service provider 202 to another one of the client systems 208, 210, and 212 and enables a user at each of client systems 208, 210, and 212 to receive requests to participate in the messaging session and to participate in the messaging session. In one embodiment, messaging service provider 202 may also distribute collaborative agents 220, 222, and 224 as software that users install on client systems 208, 210, and 212. In another embodiment, users access collaborative agents 220, 222, and 224 at client systems 208, 210, and 212 as web pages that provide an interface for communication with messaging service provider 202.
Each of client systems 208, 210, and 212 and messaging service provider 202 detect a user's “presence” and may distribute the user's “presence” to the others of client systems 208, 210, and 212 and messaging service provider 202 in the form of a presence indicator, for example. A user's “presence” generally indicates a user's availability to participate in each type of collaborative communication available to the user. For example, a user's presence indicator may specify the user's availability to participate in a messaging session and to receive VoIP communications, thus indicating the user's availability to participate in two types of collaborative communications. In addition, a presence indicator may provide information in addition to “available” or “unavailable”, such as “on the phone”, “out to lunch”, “only business related communications”, and other specific indicators of presence selected by the user or determined by the system detecting a user's presence.
Communication server 204 also includes a logging controller 230. Logging controller 230 facilitates the recording, editing, sharing, and storing of message session entries facilitated by messaging service provider 202 into a log. In particular, a log includes both the content of the message session entries and tags added to give context to the message session entries. Tags may identify, for example, times and dates, the user associated with each message entry, when users enter and leave a messaging session, and any editing performed within the log of the message session entries.
With reference now to
According to an advantage, logging controller 230 detects when additional users enter an already ongoing messaging session and automatically records a log of all the message entries up to the point of a user entering the messaging session. Then, logging controller 230 enables the original users of the messaging session to select whether to distribute the log to the additional users. Further, logging controller 230 enables the original users to edit or select only portions of the log to distribute to the additional users. Moreover, logging controller 230 enables users to select portions of the log to add to the ongoing messaging session.
First, logging controller 230 includes a log creator 404 that monitors ongoing messaging sessions and records a log of those messaging sessions. In particular, log creator 404 adds tags to messaging session logs to provide context and stores messaging session logs in log storage 406 and other storage locations.
According to another advantage, logging controller 230 also includes a user entry detection controller 402. In one embodiment, log creator 404 alerts user entry detection controller 402 that a new user entering an ongoing messaging session is detected. In another embodiment, a messaging service provider may alert logging controller 230 when additional users enter an ongoing messaging session.
Responsive to an additional user entering an ongoing messaging session, user entry detection controller 402 pulls the message entries from the messaging session log that were entered prior to the entry of the additional user and enables the original users in the messaging session to select to distribute the log to the additional users. In one embodiment, the original users may select to distribute the log to additional users as a communication independent of the ongoing messaging session. In one example, the communication is an electronic mail. In another example, the communication is via a new pop-up messaging window. In another embodiment, the original users may select to drag and drop portions of the log into the ongoing messaging session, wherein logging controller 230 may intervene as a participant and add the selected message entries to the ongoing messaging session. In another embodiment, the original users may edit the log or select only portions of the log for logging controller 230 to distribute to the additional user.
In addition, logging controller 230 includes a group interface controller 408 that facilitates an interface through which users may select logs to reopen the log or to select to reconvene the messaging session with the participants indicated in the log. As will be further described with reference to
Further, logging controller 230 includes an approval controller 410. As will be described with reference to
While the present invention is described with emphasis upon distributing a log to a user joining ongoing messaging session, user entry detection controller 402 may also detect a user leaving an ongoing messaging session and then, when the messaging session concludes, create a log of those entries made after the user left the messaging session and distribute the log to the departing user. Approval controller 410 may control the approval process of those users required to approve the distribution of the log to the departing user. In addition, those users remaining in the messaging session may select to edit the log before distribution to the departing user.
Referring now to
Network communication control server 320 includes logging controller 230 and global log rules 306. Logging controller 230 provides logging services to client systems 312, 314, and 316 independent of which of messaging service providers 302 and 304 facilitates the messaging session.
Global log rules 306 are rules for logging controller 230 to apply to control the distribution, editing, and storage of messaging session logs. In addition, global log rules may apply based on the messaging service provider used, the content of the messaging session, the participants of the messaging session, and other factors selected by the rulemaker. Rulermakers may include third parties, participants, messaging service providers, and other authorized to control messaging communications. It will be understood that network communication control server 320 may store global log rules 306 or may access global log rules 306 from multiple network locations.
With reference now to
Global log rules 306 includes a second rule indicated at reference numeral 504 that specifies “only allow session merging between employees.” When a logging controller applies the second rule, in one example, if users attempt to merge ongoing messaging sessions into a single session, the communication server will only allow the merge if all the users participating in the merged session are employees.
In addition, global log rules 306 includes a third rule indicated at reference numeral 506 that specifies “allow editing of merged logs.” When a logging controller applies the third rule, in one example, users are allowed to edit logs resulting from merged messaging sessions.
Global log rules 306 also includes a fourth rule indicated at reference numeral 508 that specifies “automatically store log in folder for each participant”. When a logging controller applies the third rule, in one example, the log is stored in a network accessible storage location for each participant.
It will be understood that the first, second, third, and fourth rules are merely illustrative examples of the types of rules that a third party may set for controlling the recording, sharing, editing, and storing of messaging session logs and for controlling the merging of messaging sessions. In alternate embodiments, a third party may set other types of rules for controlling the recording, sharing, editing, and storing of messaging session logs and for controlling the merging of messaging sessions.
Referring now to
When user C, the additional user, enters the ongoing messaging session between users A and B, the messaging session continues with users A, B, and C. In particular, from user A's interface, the messaging session dialog is updated with tagging 606 indicating the addition of user C and with a next message entry 608.
While users A and B can view all previous entries in the messaging session and all current and future messages, user C initially only views those entries indicated at reference numeral 608, which are entered after user C joins the messaging session. In particular, messaging session window 620 depicts the dialog 622 as only displaying the first message entry 624 made after user C enters the messaging session. As will be understood, user A may enter additional message entries via entry interface 609 and user C may enter additional message entries via entry interface 628.
According to an advantage, when additional user C enters the messaging session, the logging controller prompts user A with messaging log window 610. Messaging log window 610 includes a log 611 of the previous entries in the messaging session prior to the entry of user C. In addition, messaging log window 610 includes multiple selectable options that the user may select by placement of cursor 618.
A first option, depicted at reference numeral 612, prompts a user to select to “send the log to C”. If user A selects the first option, then the logging controller will pass log 611 to user C. In the present example, user A selects the first option, and responsive to the selection, messaging session window 620 is updated to display log 611 in display area 626 concurrently with the ongoing messaging session. In an alternate embodiment, the logging controller may open an independent window from messaging session window 620 to display log 611. Further, in an alternate embodiment, when user A selects to send log 611 to C, logging controller 230 may prompt user A to select whether to send the log as an e-mail or as an additional messaging session communication.
A second option, depicted at reference numeral 614, prompts a user to select to “edit the log”. If user A selects the second option, then the interface depicting log 611 becomes editable, such that a user may highlight those portions of log 611 to send to user C. In one example, the interface becomes editable by providing user A with selectable tools to delete, highlight, and add content and tags to log 611. After editing log 611, user A may then select the first option, to “send the log to C” and the logging controller will pass the edited log to user C. It is important to note that as user A edits messaging entries, the logging controller updates the tags for log 611. It will be understood logging controller may provide user A with multiple editing tools, as are understood in the art, for editing the text, images, audio, and video message entries included in the log depicted in log window 904. In one example, for editing text, the user may highlight text, delete text, add text, and spell check text. In another example, for editing sound, the user may cut out portions of a sound clip, add to the sound clip, or adjust the sound characteristics of the sound clip. Further, according to an advantage, editing message entries may include using editing tools to add emphasis to certain entries through adding coloring or bolding to text or volume increases to sound, for example. In another example, editing tools may include a time selection tool, such that the user may select to only include those message entries within a particular time period to the edited log.
A third option, depicted at reference numeral 616, prompts a user to select to “add entries from the log to the current messaging session”. If user A selects the third option, then each entry log 611 becomes a “drag and drop” entry. In particular, a user may select an entry within log 611 and drag the entry to messaging session window 600, to add the entry to the entries included in the messaging session between users A, B and C, thus enabling user C to view selected entries. In particular, when the logging controller detects a user drag and drop entries into an ongoing messaging session window, the logging controller may add the dropped entries to the messaging session dialog with tagging to indicate that the messaging session entries are from the log of previous entries.
In one embodiment, user C may select preferences for viewing the logs, such as the log in display area 626. In one example, a user may select to receive a static view of the log, such that user C then decides whether to scroll through the log and decides which audio or video clips in the log to play. In another example, a user may select to receive an automatically scrolling view of the log, where the user selects a rate that the log should begin to scroll the log. Further, where the log includes audio and video clips, an auto scrolling view would automatically play each clip as the log scrolls up. In yet another example, a user may select to view only those entries in the log entered by a particular user or entered within a particular time period.
With reference now to
In the example, users C and D begin communicating, as illustrated at tag 722, and decide to talk with user A, as indicated in message entries 724. As indicated by tag 726, user D requests that the messaging service provider invite user A to join the ongoing messaging session between users C and D. Although not depicted, the logging controller detects that user A is already participating in a messaging session and offers user A the opportunity to join the messaging session with users C and D alone or with user B. In the example, user A selects to merge the messaging sessions. In merging the messaging sessions, the messaging service provider adds all the users to a single messaging session that continues in the same messaging windows displayed to each user before the merger. As a result of the merger of the messaging sessions, tag 706 in messaging session window 700 indicates the addition of users C and D and tag 728 in messaging session window 720 indicates the addition of users A and B. Entries made by user A in entry interface 709 and by user C in entry interface 721 are updated in the messaging session windows for users A, B, C, and D. For example, after the merger, user B enters a message entry which is updated as entry 708 in messaging session window 700 and entry 729 in messaging session window 720.
Upon merging the two messaging sessions, the logging controller detects that users A and B have entered an ongoing messaging session and that users C and D have entered an ongoing messaging session. The logging controller then prompts user A with messaging log window 710 depicting log 711 of message entries 704 and tag 702, entered prior to the merging of the messaging sessions. User A may select, through the placement of cursor 718, the first option 712 to send the log to C and D, a second option 714 to edit the log, and a third option 716 to add the log to the current session, where the first, second and third options are more fully described with reference to
In an alternate embodiment, prior to the occurrence of a merger of messaging sessions, each merging user may be required to approve the merger. In addition, the global log rules may effect what type of mergers and distribution of logs that the logging controller may perform.
With reference now to
In one example, group messaging interface 800 provides a common interface for instant messaging communications related to a “team A”. “Team A” includes multiple users, as illustrated at reference numeral 804, where the presence is displayed. The user's presence indicates the actual availability of the user to participate in instant messaging sessions or other forms of communication. In addition, other messaging session characteristics may be depicted at reference numeral 804. For example each user's current participation may be displayed where the user's current participation indicates the current instant messaging session in which the user is participating, whether the other participants are team members, and the duration of the session.
In addition, group interface 800 depicts the current messaging sessions 830 ongoing between members of “team A” and non-members. A user accessing group interface 800 may select to join an ongoing messaging session by selecting from among current instant messaging sessions 830 and selecting the join option depicted at reference numeral 832 by the positioning of cursor 806 or other selection input. Responsive to a selection of the join option, the logging controller may prompt current participants of the target messaging session to approve the joining user. In addition, a user may select from among current instant messaging session 830 and select from among members 804 and select the join option. Responsive to the selection of the join option, the logging controller would prompt the selected member to join the selected instant messaging session.
In addition, a user accessing group interface 800 may select to merge ongoing messaging sessions by selecting multiple sessions from among current instant messaging sessions 830 and selecting the merge option depicted at reference numeral 834. Responsive to a selection of the merge option, the logging controller may prompt current participants of the target messaging sessions to approve the merger. The user requesting the merging may or may not be a participant in one of the merging messaging sessions.
Further, group interface 800 illustrates stored logs 810 of logs of messaging sessions participated in by members of “team A” and non-members. In particular, characteristics such as the participants, time, date, and keywords of each messaging session may be depicted with each log file. In one example, a user may select a log from stored logs 810 and select the open file option, as depicted at reference numeral 820, to trigger the logging controller to open the selected log file. In another example, a user may select a log from stored logs 810 and select the reconvene option, as depicted at reference numeral 822, to trigger the logging controller to initiate a messaging session with all the previous participants with the stored log displayed in the messaging session. In one embodiment, the logging controller detects those previous participants whose presence indicates availability to participate in the messaging session and requests that the messaging service provider prompt those previous participants to participate in the new messaging session. Also, the logging controller prompts the messaging service provider to monitor those previous participants whose presence indicates lack of availability to participate in the messaging session and prompt those participants to participate if their presence later indicates availability and the new messaging session is still ongoing.
Referring now to
Approval controller 410, of
In one example, approval controller 410 triggers the display of log distribution approval window 900 as the prompting of a user to approve a distribution. In the example, a message 902 indicates the approval requested. In particular, message 902 indicates that the user's approval of a distribution of a log of the entries in the messaging session entered prior to the arrival of a user or group of users is requested. It will be understood that message 902 may include additional information identifying the messaging session.
In addition, in the example, the user may select to view the current log by selecting the view log button 930. The current log may include edits by another user or users.
In the example, the user may select, by user identifier or other identifier, whether to approve, approve with edits, or disallow a log distribution. In particular, as illustrated at reference numeral 904, an individual user ID of “JAMESSMITH” indicates a single user to whom approval is requested. The user may select approve button 910 to approve the distribution, approve with edits button 912 to trigger an editing interface, and disallow button 914 to disallow the distribution. In one example, where one user selects approve with edits button 912 and edits the current log, then approval controller 410 will then prompt all the users to approve the distribution of the updated current log.
In addition, in the example, the user may select, but security level, whether to approve, approve with edits, or disallow a log distribution. In the example, as depicted at reference numeral 906, approval of distribution to “security level 2 users” is requested. The user may select approve button 920 to approve the distribution, approve with edits button 922 to trigger an editing interface, and disallow button 924 to disallow the distribution. In one embodiment, the individual “JAMESSMITH” is a security level 2 user, however, in an alternate embodiment, “JAMESSMITH” and “security level 2 users” are independent of one another. In addition, in one embodiment, the same log file is sent to both “JAMESSMITH” and the “security level 2 users”, however, in an alternate embodiment, different log files are sent.
With reference now to
Block 1010 depicts a determination whether the logging controller detects that the ongoing instant messaging session has ended. If the ongoing instant messaging session has ended, then the process passes to block 1012. Block 1012 illustrates storing a log of all the message entries for the duration of the messaging session, and the process ends. It is important to note that in storing the log of all the message entries, the logging controller may add additional tags provide context for the messaging session log.
Returning to block 1010, if the ongoing instant messaging session has not ended, then the process passes to block 1014. Block 1014 depicts a determination by the logging controller that a logging option is selected. In one example, if a user selects a logging option to send the log, then the process passes to block 1030. Block 1030 depicts a determination by the logging controller whether approval of the distribution is required. If approval is not required, then the process passes to block 1016. Block 1016 illustrates sending the log to the joining user for display to the joining user, and the process returns to block 1010. Otherwise, at block 1030, if approval is required, then the process passes to block 1032. Block 1032 depicts prompting the other users required to approve the distribution to select whether to approve the distribution. In particular, as described with reference to
Alternatively, at block 1014, if a user selects a logging option to edit the log, then the process passes to block 1019. Block 1019 depicts updating the user interface with applicable editing tools. In particular, if the message entries in the log are audio entries, then audio editing tools are applicable. Next, block 1020 depicts a determination by the logging controller whether the user has completed editing the log. If the editing is complete, then the process passes to block 1022. Block 1022 depicts storing the edited log, and the process returns to block 1010.
Further, alternatively, at block 1014, if a user selects a logging option to drag and drop from the log, then the process passes to block 1024. Block 1024 depicts detecting dragged message entries from the log to the current messaging window. Next, block 1026 depicts updating the current messaging session with the dragged and dropped message entry, and the process returns to block 1010.
Referring now to
Block 1106 depicts recording a log of all the previous entries for the second ongoing messaging session prior to the point that the user joined entered the other messaging session. Next, block 1108 illustrates prompting the user to select to merge the messaging sessions or send a log of the second messaging session to the participants of the messaging session being joined. Thereafter, block 1110 depicts a determination whether the user selects to merge the messaging sessions.
At block 1110, if the user selects to merge the messaging sessions, then the process passes to block 1112. Block 1112 depicts the logging controller prompting the current users in the messaging sessions to be merged to approve the merger. Next, block 1114 illustrates a determination whether the merger is approved. If the merger is not approved, then the process ends. If the merger is approved, then the process passes to block 1116. Block 1116 depicts the logging controller joining the instant messaging sessions, and the process ends. In particular, when the logging controller joins messaging sessions, the flowchart of
Otherwise, at block 1111 if the user does not select to merge the messaging sessions, then the process passes to block 1118. Block 1118 depicts a determination whether the user selects to send the log of the second messaging session entries to the users participating in the messaging session being joined. If the user does not select to send a log, then the process ends. If the user selects to send a log, then the process passes to block 1120. Block 1120 depicts distributing the log of the second messaging session entries to the users participating in the messaging session being joined, and the process ends.
While the invention has been particularly shown and described with reference to a preferred embodiment, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention.