US20120296982A1 - Automatic Scheduling Tool - Google Patents

Automatic Scheduling Tool Download PDF

Info

Publication number
US20120296982A1
US20120296982A1 US13/109,571 US201113109571A US2012296982A1 US 20120296982 A1 US20120296982 A1 US 20120296982A1 US 201113109571 A US201113109571 A US 201113109571A US 2012296982 A1 US2012296982 A1 US 2012296982A1
Authority
US
United States
Prior art keywords
meeting
communication
message
calendar
manager
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US13/109,571
Inventor
Jerrold M. Heyman
Kenton R. Milligan
Michael L. Nelson
Antonio Pirraglia
Andrew G. Tonkin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to US13/109,571 priority Critical patent/US20120296982A1/en
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: NELSON, MICHAEL L., PIRRAGLIA, ANTONIO, TONKIN, ANDREW G., HEYMAN, JERROLD M., MILLIGAN, KENTON R.
Priority to US13/448,595 priority patent/US9213952B2/en
Publication of US20120296982A1 publication Critical patent/US20120296982A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Definitions

  • the present invention relates to a method and system for dynamic and interactive management of a calendar. More specifically, the invention relates to a system and method that creates a calendar entry based upon message communications.
  • Calendars come in various forms and sizes. Some calendars are on paper and others are electronic. With the advent of technology, electronic calendars have become popular as tools to maintain personal and/or business schedules. Within the category of electronic calendars, there are private calendars and semi-private calendars.
  • a private electronic calendar is a calendar that is not shared among account holders. More specifically, the acts of creating entries and viewing entries are limited to the account holder.
  • a semi-private electronic calendar is a calendar that is shared among multiple account holders. The sharing of the calendar enables each account holder to enter and schedule appointments on the same calendar. At the same time, since the calendar is shared, each account holder can at least see entries of the other account holders, and depending upon the settings may allow some or all of the account holders to make entries on the shared calendar. Accordingly, an electronic calendar is a prior art solution that addresses scheduling in an electronic medium that may be shared among multiple account holders.
  • Each appointment in an electronic calendar is reflected as an entry in a schedule.
  • entries are created for appointments, meetings, etc. Entries in a work environment are made in a similar manner.
  • the act of creating an entry on the calendar interrupts ongoing processes.
  • a meeting with another party is scheduled, a common date and time must be entered on the calendars of the respective parties. This type of scheduling is cumbersome and may require multiple communications, either oral or written, to ascertain a common time and location for the meeting.
  • This invention comprises a method, system, and apparatus for dynamic calendar management.
  • a computer implemented method for use with message based communication. More specifically, a communication tool is employed to parse content embedded within a message being communicated. More specifically, the tool searches for and parses one or more select string of characters within the message(s), with the string of characters exhibiting characteristics of a request or need for a meeting. In response to the message parsing, electronic calendars of each of the parties identified within the message are searched to find at least one mutually available time to schedule the meeting based upon the exhibited characteristics. Each of the identified parties is then presented with at least one common and available date and time for the meeting.
  • a system in communication with storage media.
  • a communication manager is provided to parse message content that is embedded in at least one message being communicated. Based upon the parsing, the communication manager searches for one or more select string(s) of characters within the message with the searched string(s) of characters including at least one characteristic of a meeting.
  • a calendar manager is provided in communication with the communication manager. The calendar manager searches electronic calendars local to the storage media and associated with a characteristic of the message in an effort to find an available time slot to schedule the meeting.
  • a presentation manager is provided in communication with the calendar manager. The presentation manager presents at least one common and available date and time for the meeting within a time interval, including a predefined time interval or an adjusted time interval.
  • a computer program product for use with an electronic communication.
  • the computer program product includes a computer-readable storage medium having computer readable program code embodied thereon, which when executed causes a computer to implement a method. More specifically, the computer program product, parses message content embedded in at least one message being communicated between at least two client machines. The parsing includes searching for at least one select string of characters within the message content, with the select string of character having a characteristic of a meeting. The computer program product searches electronic calendars of each of the at least two clients to find a mutually available time slot to schedule the meeting based upon the characteristics. Each of the clients is presented with at least one common and available date and time for the meeting.
  • a computer implemented method for use with message based communication.
  • a first client is configured with a first electronic calendar.
  • a second client is configured with a second electronic calendar.
  • a communication tool parses message content embedded in at least one message being communicated between the clients. The parsing includes searching for one or more select string of characters within the message, with the searched string of characters having characteristics of a meeting.
  • First and second electronic calendars are searching to find a mutually available time slot to schedule the meeting based upon the characteristics.
  • each of the first and second clients are presented with at least one common and available date and time for the meeting.
  • FIGS. 1A and 1B are a flowchart illustrating a process for scheduling an appointment and creating a calendar entry for the appointment all based upon real-time direct text-based communication(s) between at least two clients over a network.
  • FIG. 2 is a block diagram illustrating tools embedded in a computer system to support text based communication, and more specifically for accessing and scheduling meetings on behalf of the parties taking part in the communication.
  • FIG. 3 is a block diagram illustrating tools embedded in a computer system to support text based communication directly between two client machines, and more specifically for accessing and scheduling meetings on behalf of the parties taking part in the communication.
  • FIG. 4 is a block diagram showing a system for implementing an embodiment of the present invention.
  • the functional units described in this specification have been labeled as tools, modules, and/or managers.
  • the functional units may be implemented in programmable hardware devices such as field programmable gate arrays, programmable array logic, programmable logic devices, or the like.
  • the functional units may also be implemented in software for execution by various types of processors.
  • An identified functional unit of executable code may, for instance, comprise one or more physical or logical blocks of computer instructions which may, for instance, be organized as an object, procedure, function, or other construct. Nevertheless, the executables of an identified functional unit need not be physically located together, but may comprise disparate instructions stored in different locations which, when joined logically together, comprise the functional unit and achieve the stated purpose of the functional unit.
  • a functional unit of executable code could be a single instruction, or many instructions, and may even be distributed over several different code segments, among different applications, and across several memory devices.
  • operational data may be identified and illustrated herein within the functional unit, and may be embodied in any suitable form and organized within any suitable type of data structure. The operational data may be collected as a single data set, or may be distributed over different locations including over different storage devices, and may exist, at least partially, as electronic signals on a system or network.
  • Two electronic tools are becoming abundantly popular for managing schedules and associated communication.
  • One of the electronic tools pertains to message based communication, and the other electronic tool is an electronic calendar.
  • Message based communication between two or more people employing separate electronic devices can come in different forms, including but not limited to, text based messaging of portable telecommunication devices, non-real-time electronic mail communication, and real-time direct text-based communication between two or more people.
  • Other forms of text based communication may exist, and as such, the examples shown herein are not considered limiting.
  • the message based communication supports communication via text in place of or supplementary to voice based communication.
  • Real-time direct text-based communication emulates a conversation in a text form as opposed to a verbal form. In effect, the real-time direct text-based communication employs a conduit between two electronic devices and supports real-time transmission of messages.
  • An electronic calendar is a calendar embedded and saved in an electronic format.
  • One such form enables a user to set-up and maintain the calendar on a location within a distributed network.
  • the user establishes a login name and password to view and manage their settings on the calendar, including setting up meetings and appointments in electronic form.
  • the user can login to access their calendar from any client machine in communication with the distributed network, and in one embodiment from a mobile device, including but not limited to a mobile telephone.
  • Another form is an electronic calendar stored in data storage local to the client. In this form, the user can access their calendar from local data storage. Accordingly, the electronic calendar enables a user to cease use of a conventional calendar by replacing a paper based ledger with an electronic format.
  • FIGS. 1A and 1B are a flowchart ( 100 ) illustrating a process for scheduling an appointment and creating a calendar entry for the appointment all based upon real-time direct text-based communication(s) between at least two clients over a network.
  • the process starts at step ( 102 ) with a first user associated with a first client machine sending a real-time communication over a network to a second user associated with a second client machine.
  • the communication is sent over the network by using a real-time direct text-based communication protocol supported by the first and second client machines, such that the communication is representative of a text based conversation.
  • the communication between the first and second client machines may be in non-real-time.
  • the number of client machines participating in the text based conversation is not limited to two client machines and may include three or more machines. Accordingly, the message based communication may be in real-time or non-real-time between two or more client machines across a network.
  • step ( 104 ) the text-based communication is received at the second client machine.
  • the received message is parsed for one or more select string(s) of characters or words characterizing an attribute of a meeting time ( 106 ).
  • the content of the message is parsed for specific message content.
  • the aspect of parsing takes place for each communicated text-based message.
  • the text-based messaging may continue with receipt of another test based communication between the users ( 110 ), followed by a return to step ( 106 ) to parse the next message in the text-based conversation.
  • the scheduling process is initiated. The parsing of the text-based message takes place for each communicated message. In one embodiment, the parsing continues parallel to the scheduling evaluation.
  • electronic calendars are a commonly used tool for scheduling meetings and activities. Following a positive response to the determination at step ( 108 ), it is determined if the user associated with the first client machine has an electronic calendar account ( 112 ). In one embodiment, the electronic calendar account information may be embedded within a profile associated with the user. A negative response to the determination at step ( 112 ) concludes the scheduling process ( 114 ). Conversely, a positive response to the determination at step ( 112 ) is followed by determining if the user associated with the second client machine has an electronic calendar account ( 116 ). A negative response to the determination at step ( 116 ) concludes the scheduling process ( 114 ). However, a positive response to the determination at step ( 116 ) enables the calendar scheduling process to proceed.
  • the calendar of the user associated with the first machine is searched for meeting availability ( 118 ), as is the calendar of the user associated with the second machine ( 120 ). It is then determined if the searching at steps ( 118 ) and ( 120 ) have an intersecting time interval available for scheduling a meeting ( 122 ).
  • the determination at step ( 122 ) is limited to a preset time interval following the communication.
  • the preset time interval is an adjustable variable.
  • determining a mutually available time slot requires taking time zones, and possible time differences among the users, into consideration. Accordingly, following a determination that both users that are involved in the text based conversation have an electronic calendar; a further search is conducted for scheduling a meeting.
  • calendar entries are created in the calendars of the respective users ( 124 ), and a notification message is sent to each of the users of the calendars ( 126 ) thereby informing the users of the recently scheduled meeting.
  • a determination is made whether the search for available time slots should be extended beyond the preset time interval ( 128 ).
  • a message can be sent to the first and second client machines to make a determination with respect to the extended search. If a decision is made to extend the search beyond the preset time interval, the pre-set time interval is adjusted ( 130 ) and the process returns to step ( 118 ).
  • a negative response to the determination at step ( 128 ) concludes the scheduling process for the current text based communication ( 132 ). Accordingly, the electronic calendars of each of the users are searched within a defined time interval to ascertain an intersecting time for scheduling of a meeting between the parties of the text based conversation.
  • FIG. 2 is a block diagram ( 200 ) illustrating tools embedded in a computer system to support text based communication, and more specifically for accessing and scheduling meetings on behalf of the parties taking part in the communication.
  • a computer system is provided with a server ( 210 ) in communication with at least two client machines ( 230 ) and ( 250 ) over a network ( 205 ). Although only two client machines ( 230 ) and ( 250 ) are shown herein, in one embodiment additional client machines may be provided in communication with the server ( 210 ).
  • the server ( 210 ) is provided with a processing unit ( 212 ) in communication with memory ( 216 ) across a bus ( 214 ), and in communication with data storage ( 218 ). In one embodiment, the server ( 210 ) may communicate with remote data storage (not shown) across the network connection ( 205 ). Each of the client machines ( 230 ) and ( 250 ) may read from and write data to storage data ( 218 ) across the network connection ( 205 ).
  • each of the client machines ( 230 ) and ( 250 ) is provided with hardware to support communication and scheduling.
  • client machine ( 230 ) is provided with a processing unit ( 232 ) in communication with memory ( 236 ) across a bus ( 234 )
  • client machine ( 250 ) is provided with a processing unit ( 252 ) in communication with memory ( 256 ) across a bus ( 254 ).
  • each of the client machines ( 230 ) and ( 250 ) is provided with a real-time communication tool ( 238 ) and ( 258 ), respectively, with the application supporting inter-client communication.
  • the tool ( 238 ) and ( 258 ) support a real-time text based communication protocol.
  • Each message sent or received from either of the client machines ( 230 ) or ( 250 ) is routed through the server ( 210 ).
  • each client machine ( 230 ) and ( 250 ) has an electronic calendar ( 240 ) and ( 260 ), respectively.
  • the electronic calendars ( 240 ) and ( 260 ) reside in data storage ( 218 ).
  • the server ( 210 ) is provided with a communication manager ( 220 ), shown herein as residing in memory ( 216 ).
  • the communication manager ( 220 ) parses each of the routed messages. More specifically, the communication manager ( 220 ) parses content embedded within the messages for one or more pre-selected words. In one embodiment, the pre-selected words are associated with verbal characteristics of a meeting.
  • a calendar manager ( 222 ) is provided in communication with communication manager ( 220 ). More specifically, the calendar manager ( 222 ) searches the electronic calendars ( 240 ) and ( 260 ) to find a mutually available date and time to schedule a meeting based upon the characteristics within the communicated message(s).
  • a presentation manager ( 224 ) is provided in communication with the calendar manager ( 222 ). The presentation manager ( 224 ) presents at least one common and available date and time for the meeting within a time interval associated with the message(s).
  • the time interval employed by the presentation manager ( 224 ) may be a pre-defined time interval, or an adjusted time interval. More specifically, and as shown in FIG. 1 , if the meeting cannot be scheduled within a pre-defined time of the message time stamp, then the time interval may be adjusted to search for a meeting time outside of the range of the pre-defined time of the message time stamp.
  • the communication manager ( 220 ) may identify an interval for the meeting to be scheduled, including both a start time and end time, which in effect may narrow the selection of available meeting times.
  • the communication and calendar managers ( 220 ) and ( 222 ), respectively, may be employed to schedule a meeting location. More specifically, the functionality of the communication manager ( 220 ) may be extended to parse the content of the message(s) for at least one word, phrase, or string of characters that characterizes a meeting location.
  • the calendar manager ( 222 ) may use the meeting location information received from the communication manager ( 220 ) to search for both a meeting time and a meeting location.
  • the calendar manager ( 222 ) may set a duration for the meeting, and if the time slot for the set duration is not available the calendar manager will notify each of the client machines ( 230 ) and ( 250 ) regarding the absence of the available time slot.
  • a notification message may come in different forms of electronic mail communication, including but not limited to, text communications, real-time direct text-based communications, etc.
  • the calendar manager ( 222 ) creates a calendar entry for each of the calendars ( 240 ) and ( 260 ). To ensure that the users of the calendars are aware of the scheduled meeting, the calendar manager sends a meeting notification message to each user of the calendars ( 240 ) and ( 260 ) after the calendar entries are completed.
  • the user of calendar ( 240 ) is associated with client machine ( 230 )
  • the user of calendar ( 260 ) is associated with client machine ( 250 ). Accordingly, the notification messages are communicated to the respective client machines.
  • the notification message is in the form of an electronic mail communication, text communications, a real-time direct text-based communications, etc.
  • FIG. 3 is a block diagram ( 300 ) illustrating tools embedded in a computer system to support text based communication, and more specifically for accessing and scheduling meetings on behalf of parties taking part in the communication.
  • a computer system is provided with two client machines ( 330 ) and ( 350 ) in communication over a network ( 305 ). Although only two client machines ( 330 ) and ( 350 ) are shown herein, in one embodiment additional client machines may be provided in communication over the network.
  • Each of the client machines ( 330 ) and ( 350 ) is provided with hardware to support communication and scheduling.
  • client machine ( 330 ) is provided with a processing unit ( 332 ) in communication with memory ( 336 ) across a bus ( 334 ), and client machine ( 350 ) is provided with a processing unit ( 352 ) in communication with memory ( 356 ) across a bus ( 354 ).
  • client machine ( 330 ) is in communication with local data storage ( 338 ), and client machine ( 350 ) is in communication with local data storage ( 358 ).
  • each client machine ( 330 ) and ( 350 ) has an electronic calendar ( 338 a ) and ( 358 a ), respectively, embedded in data storage ( 338 ) and ( 358 ), respectively.
  • Each of the client machines ( 330 ) and ( 350 ) is provided with a real-time communication tool ( 340 ) and ( 360 ), respectively, with the tools supporting inter-client communication.
  • a message sent or received from either of the client machines ( 330 ) and ( 350 ) is routed directly therebetween.
  • Each of the client machines ( 330 ) and ( 350 ) is provided with a communication manager ( 342 ) and ( 362 ), respectively, local to the respective communication tool ( 340 ) and ( 360 ).
  • the communication manager ( 342 ) and ( 362 ) local to the recipient client machine parses content embedded within the message for one or more pre-selected words, phrases, or string of characters.
  • each of the client machines ( 330 ) and ( 350 ) is provided with a calendar manager ( 344 ) and ( 364 ), respectively.
  • the calendar managers ( 344 ) and ( 364 ) are employed to search the local electronic calendars ( 338 a ) and ( 358 a ) to find a mutually available date and time to schedule a meeting based upon the characteristics within the communicated message(s). More specifically, at such time as client ( 330 ) receives a message via the communication tool ( 340 ), the communication manager ( 342 ) parses message content, and the calendar manager ( 344 ) searches electronic calendar ( 338 a ) for an available time slot to schedule a meeting.
  • Communication manager ( 342 ) communicates the available time slot with communication manager ( 362 ).
  • Each of the client machines ( 330 ) and ( 350 ) are also provided with presentation managers ( 346 ) and ( 366 ), respectively.
  • the presentation managers ( 346 ) and ( 366 ) are each in communication with the respective communication managers ( 344 ) and ( 364 ). More specifically, the presentation managers ( 346 ) and ( 366 ) present at least one common and available date and time for the meeting to each of the client machines ( 330 ) and ( 350 ), respectively, within a time interval associated with the message(s).
  • the communication tools ( 340 ) and ( 360 ) support direct client communication and meeting scheduling.
  • aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware based embodiment, an entirely software based embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
  • the computer readable medium may be a computer readable signal medium or a computer readable storage medium.
  • a computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing.
  • a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
  • a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof.
  • a computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
  • Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wire line, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
  • Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages.
  • the program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
  • the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
  • LAN local area network
  • WAN wide area network
  • Internet Service Provider for example, AT&T, MCI, Sprint, EarthLink, MSN, GTE, etc.
  • These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
  • the computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
  • the computer system includes one or more processors, such as a processor ( 402 ).
  • the processor ( 402 ) is connected to a communication infrastructure ( 404 ) (e.g., a communications bus, cross-over bar, or network).
  • a communication infrastructure e.g., a communications bus, cross-over bar, or network.
  • the computer system can include a display interface ( 406 ) that forwards graphics, text, and other data from the communication infrastructure ( 404 ) (or from a frame buffer not shown) for display on a display unit ( 408 ).
  • the computer system also includes a main memory ( 410 ), preferably random access memory (RAM), and may also include a secondary memory ( 412 ).
  • the secondary memory ( 412 ) may include, for example, a hard disk drive ( 414 ) and/or a removable storage drive ( 416 ), representing, for example, a floppy disk drive, a magnetic tape drive, or an optical disk drive.
  • the removable storage drive ( 416 ) reads from and/or writes to a removable storage unit ( 418 ) in a manner well known to those having ordinary skill in the art.
  • Removable storage unit ( 418 ) represents, for example, a floppy disk, a compact disc, a magnetic tape, or an optical disk, etc., which is read by and written to by removable storage drive ( 416 ).
  • the removable storage unit ( 418 ) includes a computer readable medium having stored therein computer software and/or data.
  • the secondary memory ( 412 ) may include other similar means for allowing computer programs or other instructions to be loaded into the computer system.
  • Such means may include, for example, a removable storage unit ( 420 ) and an interface ( 422 ).
  • Examples of such means may include a program package and package interface (such as that found in video game devices), a removable memory chip (such as an EPROM, or PROM) and associated socket, and other removable storage units ( 420 ) and interfaces ( 422 ) which allow software and data to be transferred from the removable storage unit ( 420 ) to the computer system.
  • the computer system may also include a communications interface ( 424 ).
  • Communications interface ( 424 ) allows software and data to be transferred between the computer system and external devices. Examples of communications interface ( 424 ) may include a modem, a network interface (such as an Ethernet card), a communications port, or a PCMCIA slot and card, etc.
  • Software and data transferred via communications interface ( 424 ) are in the form of signals which may be, for example, electronic, electromagnetic, optical, or other signals capable of being received by communications interface ( 424 ). These signals are provided to communications interface ( 424 ) via a communications path (i.e., channel) ( 426 ).
  • This communications path ( 426 ) carries signals and may be implemented using wire or cable, fiber optics, a phone line, a cellular phone link, a radio frequency (RF) link, and/or other communication channels.
  • RF radio frequency
  • computer program medium “computer usable medium,” and “computer readable medium” are used to generally refer to media such as main memory ( 410 ) and secondary memory ( 412 ), removable storage drive ( 416 ), and a hard disk installed in hard disk drive ( 414 ).
  • Computer programs are stored in main memory ( 410 ) and/or secondary memory ( 412 ). Computer programs may also be received via a communication interface ( 424 ). Such computer programs, when run, enable the computer system to perform the features of the present invention as discussed herein. In particular, the computer programs, when run, enable the processor ( 402 ) to perform the features of the computer system. Accordingly, such computer programs represent controllers of the computer system.
  • each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s).
  • the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.

Abstract

Embodiments of the invention relate to a message based scheduling tool employed to function with an electronic calendar. As messages are transmitting between clients, a tool is employed to parse the messages to search for one or more string(s) of characters characteristic of a meeting. Based upon these characteristics and the parsing, the electronic calendars are searched to find an available time slot on both calendars in which a meeting can take place, and, if an available time is found, the meeting is scheduled and the clients are sent notification of the scheduling.

Description

    BACKGROUND
  • 1. Technical Field
  • The present invention relates to a method and system for dynamic and interactive management of a calendar. More specifically, the invention relates to a system and method that creates a calendar entry based upon message communications.
  • 2. Description of the Prior Art
  • Calendars come in various forms and sizes. Some calendars are on paper and others are electronic. With the advent of technology, electronic calendars have become popular as tools to maintain personal and/or business schedules. Within the category of electronic calendars, there are private calendars and semi-private calendars. A private electronic calendar is a calendar that is not shared among account holders. More specifically, the acts of creating entries and viewing entries are limited to the account holder. A semi-private electronic calendar is a calendar that is shared among multiple account holders. The sharing of the calendar enables each account holder to enter and schedule appointments on the same calendar. At the same time, since the calendar is shared, each account holder can at least see entries of the other account holders, and depending upon the settings may allow some or all of the account holders to make entries on the shared calendar. Accordingly, an electronic calendar is a prior art solution that addresses scheduling in an electronic medium that may be shared among multiple account holders.
  • Each appointment in an electronic calendar is reflected as an entry in a schedule. In a personal environment, entries are created for appointments, meetings, etc. Entries in a work environment are made in a similar manner. However, the act of creating an entry on the calendar interrupts ongoing processes. At the same time, if a meeting with another party is scheduled, a common date and time must be entered on the calendars of the respective parties. This type of scheduling is cumbersome and may require multiple communications, either oral or written, to ascertain a common time and location for the meeting.
  • SUMMARY OF THE INVENTION
  • This invention comprises a method, system, and apparatus for dynamic calendar management.
  • In one aspect of the invention, a computer implemented method is provided for use with message based communication. More specifically, a communication tool is employed to parse content embedded within a message being communicated. More specifically, the tool searches for and parses one or more select string of characters within the message(s), with the string of characters exhibiting characteristics of a request or need for a meeting. In response to the message parsing, electronic calendars of each of the parties identified within the message are searched to find at least one mutually available time to schedule the meeting based upon the exhibited characteristics. Each of the identified parties is then presented with at least one common and available date and time for the meeting.
  • In another aspect, a system is provided with a server in communication with storage media. A communication manager is provided to parse message content that is embedded in at least one message being communicated. Based upon the parsing, the communication manager searches for one or more select string(s) of characters within the message with the searched string(s) of characters including at least one characteristic of a meeting. A calendar manager is provided in communication with the communication manager. The calendar manager searches electronic calendars local to the storage media and associated with a characteristic of the message in an effort to find an available time slot to schedule the meeting. In addition, a presentation manager is provided in communication with the calendar manager. The presentation manager presents at least one common and available date and time for the meeting within a time interval, including a predefined time interval or an adjusted time interval.
  • In yet another aspect, a computer program product is provided for use with an electronic communication. The computer program product includes a computer-readable storage medium having computer readable program code embodied thereon, which when executed causes a computer to implement a method. More specifically, the computer program product, parses message content embedded in at least one message being communicated between at least two client machines. The parsing includes searching for at least one select string of characters within the message content, with the select string of character having a characteristic of a meeting. The computer program product searches electronic calendars of each of the at least two clients to find a mutually available time slot to schedule the meeting based upon the characteristics. Each of the clients is presented with at least one common and available date and time for the meeting.
  • In an even further aspect, a computer implemented method is provided for use with message based communication. A first client is configured with a first electronic calendar. Similarly, a second client is configured with a second electronic calendar. At such time as the first and second clients participate in a real-time direct text-based communication, a communication tool parses message content embedded in at least one message being communicated between the clients. The parsing includes searching for one or more select string of characters within the message, with the searched string of characters having characteristics of a meeting. First and second electronic calendars are searching to find a mutually available time slot to schedule the meeting based upon the characteristics. In response to finding a matching available time on the first and second calendars, each of the first and second clients are presented with at least one common and available date and time for the meeting.
  • Other features and advantages of this invention will become apparent from the following detailed description of the presently preferred embodiment of the invention, taken in conjunction with the accompanying drawings.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The drawings referenced herein form a part of the specification. Features shown in the drawings are meant as illustrative of only some embodiments of the invention, and not of all embodiments of the invention unless otherwise explicitly indicated. Implications to the contrary are otherwise not to be made.
  • FIGS. 1A and 1B are a flowchart illustrating a process for scheduling an appointment and creating a calendar entry for the appointment all based upon real-time direct text-based communication(s) between at least two clients over a network.
  • FIG. 2 is a block diagram illustrating tools embedded in a computer system to support text based communication, and more specifically for accessing and scheduling meetings on behalf of the parties taking part in the communication.
  • FIG. 3 is a block diagram illustrating tools embedded in a computer system to support text based communication directly between two client machines, and more specifically for accessing and scheduling meetings on behalf of the parties taking part in the communication.
  • FIG. 4 is a block diagram showing a system for implementing an embodiment of the present invention.
  • DETAILED DESCRIPTION
  • It will be readily understood that the components of the present invention, as generally described and illustrated in the Figures herein, may be arranged and designed in a wide variety of different configurations. Thus, the following detailed description of the embodiments of the apparatus, system, and method of the present invention, as presented in the Figures, is not intended to limit the scope of the invention, as claimed, but is merely representative of selected embodiments of the invention.
  • The functional units described in this specification have been labeled as tools, modules, and/or managers. The functional units may be implemented in programmable hardware devices such as field programmable gate arrays, programmable array logic, programmable logic devices, or the like. The functional units may also be implemented in software for execution by various types of processors. An identified functional unit of executable code may, for instance, comprise one or more physical or logical blocks of computer instructions which may, for instance, be organized as an object, procedure, function, or other construct. Nevertheless, the executables of an identified functional unit need not be physically located together, but may comprise disparate instructions stored in different locations which, when joined logically together, comprise the functional unit and achieve the stated purpose of the functional unit.
  • Indeed, a functional unit of executable code could be a single instruction, or many instructions, and may even be distributed over several different code segments, among different applications, and across several memory devices. Similarly, operational data may be identified and illustrated herein within the functional unit, and may be embodied in any suitable form and organized within any suitable type of data structure. The operational data may be collected as a single data set, or may be distributed over different locations including over different storage devices, and may exist, at least partially, as electronic signals on a system or network.
  • Reference throughout this specification to “a select embodiment,” “one embodiment,” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases “a select embodiment,” “in one embodiment,” or “in an embodiment” in various places throughout this specification are not necessarily referring to the same embodiment.
  • Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided, such as examples of modules, managers, etc., to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention can be practiced without one or more of the specific details, or with other methods, components, materials, etc. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the invention.
  • The illustrated embodiments of the invention will be best understood by reference to the drawings, wherein like parts are designated by like numerals throughout. The following description is intended only by way of example, and simply illustrates certain selected embodiments of devices, systems, and processes that are consistent with the invention as claimed herein.
  • In the following description of the embodiments, reference is made to the accompanying drawings that form a part hereof, and which shows by way of illustration the specific embodiment in which the invention may be practiced. It is to be understood that other embodiments may be utilized because structural changes may be made without departing form the scope of the present invention.
  • Two electronic tools are becoming abundantly popular for managing schedules and associated communication. One of the electronic tools pertains to message based communication, and the other electronic tool is an electronic calendar. Message based communication between two or more people employing separate electronic devices can come in different forms, including but not limited to, text based messaging of portable telecommunication devices, non-real-time electronic mail communication, and real-time direct text-based communication between two or more people. Other forms of text based communication may exist, and as such, the examples shown herein are not considered limiting. The message based communication supports communication via text in place of or supplementary to voice based communication. Real-time direct text-based communication emulates a conversation in a text form as opposed to a verbal form. In effect, the real-time direct text-based communication employs a conduit between two electronic devices and supports real-time transmission of messages.
  • An electronic calendar is a calendar embedded and saved in an electronic format. There are different forms and configurations of these calendars. One such form enables a user to set-up and maintain the calendar on a location within a distributed network. The user establishes a login name and password to view and manage their settings on the calendar, including setting up meetings and appointments in electronic form. The user can login to access their calendar from any client machine in communication with the distributed network, and in one embodiment from a mobile device, including but not limited to a mobile telephone. Another form is an electronic calendar stored in data storage local to the client. In this form, the user can access their calendar from local data storage. Accordingly, the electronic calendar enables a user to cease use of a conventional calendar by replacing a paper based ledger with an electronic format.
  • Message based communication is merged with the electronic calendar to facilitate scheduling meetings and/or activities in an automated manner. FIGS. 1A and 1B are a flowchart (100) illustrating a process for scheduling an appointment and creating a calendar entry for the appointment all based upon real-time direct text-based communication(s) between at least two clients over a network. The process starts at step (102) with a first user associated with a first client machine sending a real-time communication over a network to a second user associated with a second client machine. In one embodiment, the communication is sent over the network by using a real-time direct text-based communication protocol supported by the first and second client machines, such that the communication is representative of a text based conversation. In another embodiment, the communication between the first and second client machines may be in non-real-time. Similarly, in another embodiment the number of client machines participating in the text based conversation is not limited to two client machines and may include three or more machines. Accordingly, the message based communication may be in real-time or non-real-time between two or more client machines across a network.
  • As shown, in step (104), the text-based communication is received at the second client machine. Following receipt at step (104), the received message is parsed for one or more select string(s) of characters or words characterizing an attribute of a meeting time (106). In other words, as a message is communication from the first client machine to the second client machine, the content of the message is parsed for specific message content. In one embodiment, the aspect of parsing takes place for each communicated text-based message. Following the parsing of the message at step (106), it is determined if the message content included one or more words, phrase(s), or string(s) of characters that are associated with the desire or need for the parties of the text-based communication to have a meeting (108). If the select words, phrase(s), or string of characters are not present, the text-based messaging may continue with receipt of another test based communication between the users (110), followed by a return to step (106) to parse the next message in the text-based conversation. Conversely, if at step (108) it is determined that the select words, phrase(s), or string of characters are present in the communication, then the scheduling process is initiated. The parsing of the text-based message takes place for each communicated message. In one embodiment, the parsing continues parallel to the scheduling evaluation.
  • As described above, electronic calendars are a commonly used tool for scheduling meetings and activities. Following a positive response to the determination at step (108), it is determined if the user associated with the first client machine has an electronic calendar account (112). In one embodiment, the electronic calendar account information may be embedded within a profile associated with the user. A negative response to the determination at step (112) concludes the scheduling process (114). Conversely, a positive response to the determination at step (112) is followed by determining if the user associated with the second client machine has an electronic calendar account (116). A negative response to the determination at step (116) concludes the scheduling process (114). However, a positive response to the determination at step (116) enables the calendar scheduling process to proceed. More specifically, following the positive response at step (116), the calendar of the user associated with the first machine is searched for meeting availability (118), as is the calendar of the user associated with the second machine (120). It is then determined if the searching at steps (118) and (120) have an intersecting time interval available for scheduling a meeting (122). In one embodiment, the determination at step (122) is limited to a preset time interval following the communication. Similarly, in one embodiment, the preset time interval is an adjustable variable. In one embodiment, determining a mutually available time slot requires taking time zones, and possible time differences among the users, into consideration. Accordingly, following a determination that both users that are involved in the text based conversation have an electronic calendar; a further search is conducted for scheduling a meeting.
  • Following a positive response to the determination in step (122), calendar entries are created in the calendars of the respective users (124), and a notification message is sent to each of the users of the calendars (126) thereby informing the users of the recently scheduled meeting. Conversely, if the response to the determination at step (122) is negative, a determination is made whether the search for available time slots should be extended beyond the preset time interval (128). In one embodiment, a message can be sent to the first and second client machines to make a determination with respect to the extended search. If a decision is made to extend the search beyond the preset time interval, the pre-set time interval is adjusted (130) and the process returns to step (118). Conversely, a negative response to the determination at step (128) concludes the scheduling process for the current text based communication (132). Accordingly, the electronic calendars of each of the users are searched within a defined time interval to ascertain an intersecting time for scheduling of a meeting between the parties of the text based conversation.
  • As demonstrated in the flow chart of FIG. 1, a method is employed to support extracting data from a text based messaging conversation, and more specifically, dynamically setting a meeting for the conversant on each of their respective electronic calendars. FIG. 2 is a block diagram (200) illustrating tools embedded in a computer system to support text based communication, and more specifically for accessing and scheduling meetings on behalf of the parties taking part in the communication. As shown, a computer system is provided with a server (210) in communication with at least two client machines (230) and (250) over a network (205). Although only two client machines (230) and (250) are shown herein, in one embodiment additional client machines may be provided in communication with the server (210). The server (210) is provided with a processing unit (212) in communication with memory (216) across a bus (214), and in communication with data storage (218). In one embodiment, the server (210) may communicate with remote data storage (not shown) across the network connection (205). Each of the client machines (230) and (250) may read from and write data to storage data (218) across the network connection (205).
  • Similarly, each of the client machines (230) and (250) is provided with hardware to support communication and scheduling. As shown, client machine (230) is provided with a processing unit (232) in communication with memory (236) across a bus (234), and client machine (250) is provided with a processing unit (252) in communication with memory (256) across a bus (254). As shown herein, each of the client machines (230) and (250) is provided with a real-time communication tool (238) and (258), respectively, with the application supporting inter-client communication. In one embodiment, the tool (238) and (258) support a real-time text based communication protocol. Each message sent or received from either of the client machines (230) or (250) is routed through the server (210). In addition, each client machine (230) and (250) has an electronic calendar (240) and (260), respectively. In one embodiment, and as shown herein, the electronic calendars (240) and (260) reside in data storage (218).
  • To support text based communication, the server (210) is provided with a communication manager (220), shown herein as residing in memory (216). The communication manager (220) parses each of the routed messages. More specifically, the communication manager (220) parses content embedded within the messages for one or more pre-selected words. In one embodiment, the pre-selected words are associated with verbal characteristics of a meeting. To facilitate the process of scheduling, a calendar manager (222) is provided in communication with communication manager (220). More specifically, the calendar manager (222) searches the electronic calendars (240) and (260) to find a mutually available date and time to schedule a meeting based upon the characteristics within the communicated message(s). A presentation manager (224) is provided in communication with the calendar manager (222). The presentation manager (224) presents at least one common and available date and time for the meeting within a time interval associated with the message(s).
  • The time interval employed by the presentation manager (224) may be a pre-defined time interval, or an adjusted time interval. More specifically, and as shown in FIG. 1, if the meeting cannot be scheduled within a pre-defined time of the message time stamp, then the time interval may be adjusted to search for a meeting time outside of the range of the pre-defined time of the message time stamp. The communication manager (220) may identify an interval for the meeting to be scheduled, including both a start time and end time, which in effect may narrow the selection of available meeting times.
  • In addition to finding a meeting time, the communication and calendar managers (220) and (222), respectively, may be employed to schedule a meeting location. More specifically, the functionality of the communication manager (220) may be extended to parse the content of the message(s) for at least one word, phrase, or string of characters that characterizes a meeting location. The calendar manager (222) may use the meeting location information received from the communication manager (220) to search for both a meeting time and a meeting location. In one embodiment, the calendar manager (222) may set a duration for the meeting, and if the time slot for the set duration is not available the calendar manager will notify each of the client machines (230) and (250) regarding the absence of the available time slot. Such a notification message may come in different forms of electronic mail communication, including but not limited to, text communications, real-time direct text-based communications, etc.
  • Once a meeting time and/or location has been ascertained, the calendar manager (222) creates a calendar entry for each of the calendars (240) and (260). To ensure that the users of the calendars are aware of the scheduled meeting, the calendar manager sends a meeting notification message to each user of the calendars (240) and (260) after the calendar entries are completed. As shown herein, the user of calendar (240) is associated with client machine (230), and the user of calendar (260) is associated with client machine (250). Accordingly, the notification messages are communicated to the respective client machines. In one embodiment, the notification message is in the form of an electronic mail communication, text communications, a real-time direct text-based communications, etc.
  • Text based communication may take place directly between client machines. FIG. 3 is a block diagram (300) illustrating tools embedded in a computer system to support text based communication, and more specifically for accessing and scheduling meetings on behalf of parties taking part in the communication. As shown, a computer system is provided with two client machines (330) and (350) in communication over a network (305). Although only two client machines (330) and (350) are shown herein, in one embodiment additional client machines may be provided in communication over the network. Each of the client machines (330) and (350) is provided with hardware to support communication and scheduling. As shown, client machine (330) is provided with a processing unit (332) in communication with memory (336) across a bus (334), and client machine (350) is provided with a processing unit (352) in communication with memory (356) across a bus (354). In addition, client machine (330) is in communication with local data storage (338), and client machine (350) is in communication with local data storage (358). As shown herein, each client machine (330) and (350) has an electronic calendar (338 a) and (358 a), respectively, embedded in data storage (338) and (358), respectively.
  • Each of the client machines (330) and (350) is provided with a real-time communication tool (340) and (360), respectively, with the tools supporting inter-client communication. A message sent or received from either of the client machines (330) and (350) is routed directly therebetween. Each of the client machines (330) and (350) is provided with a communication manager (342) and (362), respectively, local to the respective communication tool (340) and (360). Upon receipt of a message by one of the communication tools (340) and (360), the communication manager (342) and (362) local to the recipient client machine parses content embedded within the message for one or more pre-selected words, phrases, or string of characters. To facilitate the process of scheduling, each of the client machines (330) and (350) is provided with a calendar manager (344) and (364), respectively. The calendar managers (344) and (364) are employed to search the local electronic calendars (338 a) and (358 a) to find a mutually available date and time to schedule a meeting based upon the characteristics within the communicated message(s). More specifically, at such time as client (330) receives a message via the communication tool (340), the communication manager (342) parses message content, and the calendar manager (344) searches electronic calendar (338 a) for an available time slot to schedule a meeting. Communication manager (342) communicates the available time slot with communication manager (362). Each of the client machines (330) and (350) are also provided with presentation managers (346) and (366), respectively. The presentation managers (346) and (366) are each in communication with the respective communication managers (344) and (364). More specifically, the presentation managers (346) and (366) present at least one common and available date and time for the meeting to each of the client machines (330) and (350), respectively, within a time interval associated with the message(s). Accordingly, the communication tools (340) and (360) support direct client communication and meeting scheduling.
  • The calendar and presentation managers (344), (364), and (346), (366), support the same functionality as with the server based scheduling tool shown in FIG. 2. Messages are parsed, calendars are search, and meetings are scheduling based upon direct client communication and support.
  • As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware based embodiment, an entirely software based embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
  • Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
  • A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
  • Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wire line, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
  • Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
  • Aspects of the present invention are described above with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
  • These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
  • The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
  • Referring now to the block diagram of FIG. 4, additional details are now described with respect to implementing an embodiment of the present invention. The computer system includes one or more processors, such as a processor (402). The processor (402) is connected to a communication infrastructure (404) (e.g., a communications bus, cross-over bar, or network).
  • The computer system can include a display interface (406) that forwards graphics, text, and other data from the communication infrastructure (404) (or from a frame buffer not shown) for display on a display unit (408). The computer system also includes a main memory (410), preferably random access memory (RAM), and may also include a secondary memory (412). The secondary memory (412) may include, for example, a hard disk drive (414) and/or a removable storage drive (416), representing, for example, a floppy disk drive, a magnetic tape drive, or an optical disk drive. The removable storage drive (416) reads from and/or writes to a removable storage unit (418) in a manner well known to those having ordinary skill in the art. Removable storage unit (418) represents, for example, a floppy disk, a compact disc, a magnetic tape, or an optical disk, etc., which is read by and written to by removable storage drive (416). As will be appreciated, the removable storage unit (418) includes a computer readable medium having stored therein computer software and/or data.
  • In alternative embodiments, the secondary memory (412) may include other similar means for allowing computer programs or other instructions to be loaded into the computer system. Such means may include, for example, a removable storage unit (420) and an interface (422). Examples of such means may include a program package and package interface (such as that found in video game devices), a removable memory chip (such as an EPROM, or PROM) and associated socket, and other removable storage units (420) and interfaces (422) which allow software and data to be transferred from the removable storage unit (420) to the computer system.
  • The computer system may also include a communications interface (424). Communications interface (424) allows software and data to be transferred between the computer system and external devices. Examples of communications interface (424) may include a modem, a network interface (such as an Ethernet card), a communications port, or a PCMCIA slot and card, etc. Software and data transferred via communications interface (424) are in the form of signals which may be, for example, electronic, electromagnetic, optical, or other signals capable of being received by communications interface (424). These signals are provided to communications interface (424) via a communications path (i.e., channel) (426). This communications path (426) carries signals and may be implemented using wire or cable, fiber optics, a phone line, a cellular phone link, a radio frequency (RF) link, and/or other communication channels.
  • In this document, the terms “computer program medium,” “computer usable medium,” and “computer readable medium” are used to generally refer to media such as main memory (410) and secondary memory (412), removable storage drive (416), and a hard disk installed in hard disk drive (414).
  • Computer programs (also called computer control logic) are stored in main memory (410) and/or secondary memory (412). Computer programs may also be received via a communication interface (424). Such computer programs, when run, enable the computer system to perform the features of the present invention as discussed herein. In particular, the computer programs, when run, enable the processor (402) to perform the features of the computer system. Accordingly, such computer programs represent controllers of the computer system.
  • The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
  • The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
  • The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed.
  • Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.
  • Alternative Embodiment
  • It will be appreciated that, although specific embodiments of the invention have been described herein for purposes of illustration, various modifications may be made without departing from the spirit and scope of the invention. In particular, the system can be configured to apply to communication over a public network or a private network, for use with mobile communication devices, portable communication devices, etc. Accordingly, the scope of protection of this invention is limited only by the following claims and their equivalents.

Claims (19)

1. (canceled)
2. (canceled)
3. (canceled)
4. (canceled)
5. (canceled)
6. (canceled)
7. A computer system comprising:
a server in communication with storage media;
a function unit in communication with the server, the functional unit comprising:
a communication manager to parse message content embedded in at least one message being communicated across the server, including the communication manager to search for one or more select string of characters within the message, wherein the searched string of characters includes at least one characteristic of a meeting;
a calendar manager in communication with the communication manager, the calendar manager to search electronic calendars local to the storage media and associated with a characteristic of the message to find an available time slot to schedule the meeting based upon the at least one characteristic; and
a presentation manager in communication with the calendar manager, the presentation manager to present at least one common and available date and time for the meeting within a time interval selected from the group consisting of: a predefined time interval, and an adjusted time interval.
8. The system of claim 7, further comprising the communication manager to parse embedded message content for one or more select string of characters characterizing an attribute of a meeting location, and to communicate with the calendar manager to search the electronic calendars associated with the characteristic of the message for a matching available time slot for the requested attribute with respect to the meeting location.
9. The system of claim 7, further comprising the communication manager to identify an interval for the meeting including a start time and an end time.
10. The system of claim 9, further comprising the calendar manager to create a calendar entry for each of searched calendars in response to finding a mutually available time slot for the meeting including the meeting location and the meeting interval, and the calendar manager to send a meeting notification message to each user of the searched calendars.
11. The system of claim 10, further comprising said calendar manager to set a duration following the communication within which to identify and create a calendar entry for the meeting, and to send a notification message to each of the clients in response to an absence of availability of the time slot for the meeting within the set duration.
12. The system of claim 7, wherein the message communicated between the client machines is a real-time direct text-based communication.
13. A computer program product for use with an electronic communication, the computer program product comprising a computer-readable storage medium having computer readable program code embodied thereon, which when executed causes a computer to implement the method comprising:
parsing message content embedded in at least one message being communicated between at least two client machines, the parsing including searching for at least one select string of characters within the message content, wherein the searched string of characters characterizes a meeting;
searching electronic calendars of each of the at least two clients to find a mutually available time slot to schedule the meeting based upon the characteristics; and
presenting each of the at least two clients with at least one common and available date and time for the meeting.
14. The computer program product of claim 13, further comprising parsing embedded message content for one or more select string of characters characterizing an attribute of a meeting location, and searching the electronic calendars of each of the at least two clients for a matching available time slot for the requested attribute with respect to the meeting location.
15. The computer program product of claim 14, further comprising in each of the messages identifying an interval for the meeting including a start time and an end time.
16. The computer program product of claim 15, further comprising creating a calendar entry for each of the at least two clients in response to finding a mutually available time slot for the meeting including the meeting location and the meeting interval, and sending a meeting notification message to each of the at least two clients.
17. The computer program product of claim 16, further comprising setting a duration following the communication within which to identify and create a calendar entry for the meeting, and sending a notification message to each of the clients in response to an absence of availability of the time slot for the meeting within the set duration.
18. The computer program product of claim 13, wherein the message communicated between the client machines is a real-time direct text-based communication.
19. (canceled)
US13/109,571 2011-05-17 2011-05-17 Automatic Scheduling Tool Abandoned US20120296982A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/109,571 US20120296982A1 (en) 2011-05-17 2011-05-17 Automatic Scheduling Tool
US13/448,595 US9213952B2 (en) 2011-05-17 2012-04-17 Automatic scheduling tool

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/109,571 US20120296982A1 (en) 2011-05-17 2011-05-17 Automatic Scheduling Tool

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/448,595 Continuation US9213952B2 (en) 2011-05-17 2012-04-17 Automatic scheduling tool

Publications (1)

Publication Number Publication Date
US20120296982A1 true US20120296982A1 (en) 2012-11-22

Family

ID=47175762

Family Applications (2)

Application Number Title Priority Date Filing Date
US13/109,571 Abandoned US20120296982A1 (en) 2011-05-17 2011-05-17 Automatic Scheduling Tool
US13/448,595 Expired - Fee Related US9213952B2 (en) 2011-05-17 2012-04-17 Automatic scheduling tool

Family Applications After (1)

Application Number Title Priority Date Filing Date
US13/448,595 Expired - Fee Related US9213952B2 (en) 2011-05-17 2012-04-17 Automatic scheduling tool

Country Status (1)

Country Link
US (2) US20120296982A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9549375B2 (en) 2014-05-30 2017-01-17 Apple Inc. Operating-mode transitions based on advertising information
US9626659B2 (en) 2014-05-07 2017-04-18 International Business Machines Corporation Conflict management in scheduling meetings
US20170178083A1 (en) * 2014-01-14 2017-06-22 International Business Machines Corporation Providing geolocation notifications to increase collaboration between users
EP3279844A1 (en) * 2016-08-01 2018-02-07 BlackBerry Limited Calendar and email application
US10055567B2 (en) 2014-05-30 2018-08-21 Apple Inc. Proximity unlock and lock operations for electronic devices
US11107044B2 (en) 2015-06-16 2021-08-31 International Business Machines Corporation Remove selected user identifiers to include in an event message based on a context of an event

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140019876A1 (en) * 2012-07-11 2014-01-16 International Business Machines Corporation Calendar synch with another user and preferred free time search for scheduling an event
WO2014037932A1 (en) * 2012-09-10 2014-03-13 Dana Meushar Meetings coordinating system and method
US10510050B2 (en) 2012-09-10 2019-12-17 Private Secretary, Ltd. Meetings and events coordinating system and method
US10606859B2 (en) * 2014-11-24 2020-03-31 Asana, Inc. Client side system and method for search backed calendar user interface
US10510026B1 (en) * 2015-10-03 2019-12-17 WeWork Companies Inc. Electronic calendaring system and method determining redundant meeting invitees based on a meeting composition score
KR101746284B1 (en) * 2015-10-07 2017-06-12 라인 가부시키가이샤 Method and system for extending function of message in communication session
US9443232B1 (en) 2016-02-25 2016-09-13 International Business Machines Corporation Calendar integration with text messaging to facilitate no-time-specified events
US10701181B2 (en) * 2017-01-05 2020-06-30 International Business Machines Corporation Real-time resource negotiation with dynamic options
US10764871B2 (en) * 2017-01-16 2020-09-01 Qualcomm Incorporated Extension of data transmission from ULRB to ULCB
US10977434B2 (en) 2017-07-11 2021-04-13 Asana, Inc. Database model which provides management of custom fields and methods and apparatus therfor
US20190259004A1 (en) * 2018-02-19 2019-08-22 International Business Machines Corporation Communication event analyzation for automatic scheduling system
US10623359B1 (en) 2018-02-28 2020-04-14 Asana, Inc. Systems and methods for generating tasks based on chat sessions between users of a collaboration environment
US11138021B1 (en) 2018-04-02 2021-10-05 Asana, Inc. Systems and methods to facilitate task-specific workspaces for a collaboration work management platform
US10613735B1 (en) 2018-04-04 2020-04-07 Asana, Inc. Systems and methods for preloading an amount of content based on user scrolling
US10785046B1 (en) 2018-06-08 2020-09-22 Asana, Inc. Systems and methods for providing a collaboration work management platform that facilitates differentiation between users in an overarching group and one or more subsets of individual users
US10616151B1 (en) 2018-10-17 2020-04-07 Asana, Inc. Systems and methods for generating and presenting graphical user interfaces
US10956845B1 (en) 2018-12-06 2021-03-23 Asana, Inc. Systems and methods for generating prioritization models and predicting workflow prioritizations
US11568366B1 (en) 2018-12-18 2023-01-31 Asana, Inc. Systems and methods for generating status requests for units of work
US11113667B1 (en) 2018-12-18 2021-09-07 Asana, Inc. Systems and methods for providing a dashboard for a collaboration work management platform
US10684870B1 (en) 2019-01-08 2020-06-16 Asana, Inc. Systems and methods for determining and presenting a graphical user interface including template metrics
US11782737B2 (en) 2019-01-08 2023-10-10 Asana, Inc. Systems and methods for determining and presenting a graphical user interface including template metrics
US11204683B1 (en) 2019-01-09 2021-12-21 Asana, Inc. Systems and methods for generating and tracking hardcoded communications in a collaboration management platform
US11341445B1 (en) 2019-11-14 2022-05-24 Asana, Inc. Systems and methods to measure and visualize threshold of user workload
US11783253B1 (en) 2020-02-11 2023-10-10 Asana, Inc. Systems and methods to effectuate sets of automated actions outside and/or within a collaboration environment based on trigger events occurring outside and/or within the collaboration environment
US11599855B1 (en) 2020-02-14 2023-03-07 Asana, Inc. Systems and methods to attribute automated actions within a collaboration environment
US11455601B1 (en) 2020-06-29 2022-09-27 Asana, Inc. Systems and methods to measure and visualize workload for completing individual units of work
US11449836B1 (en) 2020-07-21 2022-09-20 Asana, Inc. Systems and methods to facilitate user engagement with units of work assigned within a collaboration environment
US11568339B2 (en) 2020-08-18 2023-01-31 Asana, Inc. Systems and methods to characterize units of work based on business objectives
US11769115B1 (en) 2020-11-23 2023-09-26 Asana, Inc. Systems and methods to provide measures of user workload when generating units of work based on chat sessions between users of a collaboration environment
US11405435B1 (en) 2020-12-02 2022-08-02 Asana, Inc. Systems and methods to present views of records in chat sessions between users of a collaboration environment
US11694162B1 (en) 2021-04-01 2023-07-04 Asana, Inc. Systems and methods to recommend templates for project-level graphical user interfaces within a collaboration environment
US11676107B1 (en) 2021-04-14 2023-06-13 Asana, Inc. Systems and methods to facilitate interaction with a collaboration environment based on assignment of project-level roles
US11553045B1 (en) 2021-04-29 2023-01-10 Asana, Inc. Systems and methods to automatically update status of projects within a collaboration environment
US11803814B1 (en) 2021-05-07 2023-10-31 Asana, Inc. Systems and methods to facilitate nesting of portfolios within a collaboration environment
US11792028B1 (en) 2021-05-13 2023-10-17 Asana, Inc. Systems and methods to link meetings with units of work of a collaboration environment
US11809222B1 (en) 2021-05-24 2023-11-07 Asana, Inc. Systems and methods to generate units of work within a collaboration environment based on selection of text
US20220398543A1 (en) * 2021-06-11 2022-12-15 Aktify, Inc. Scheduling language and model for appointment extraction
WO2023003605A1 (en) * 2021-07-21 2023-01-26 Get Together AI, Inc. Channel agnostic scheduling system
US11756000B2 (en) 2021-09-08 2023-09-12 Asana, Inc. Systems and methods to effectuate sets of automated actions within a collaboration environment including embedded third-party content based on trigger events
US11635884B1 (en) 2021-10-11 2023-04-25 Asana, Inc. Systems and methods to provide personalized graphical user interfaces within a collaboration environment
US11836681B1 (en) 2022-02-17 2023-12-05 Asana, Inc. Systems and methods to generate records within a collaboration environment
US11863601B1 (en) 2022-11-18 2024-01-02 Asana, Inc. Systems and methods to execute branching automation schemes in a collaboration environment

Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6016478A (en) * 1996-08-13 2000-01-18 Starfish Software, Inc. Scheduling system with methods for peer-to-peer scheduling of remote users
US20040064355A1 (en) * 2002-10-01 2004-04-01 Dorenbosch Jheroen Pieter Method and apparatus for scheduling a meeting
US20050027805A1 (en) * 2003-07-15 2005-02-03 Aoki Norihiro Edwin Instant messaging and enhanced scheduling
US20070011148A1 (en) * 1998-11-12 2007-01-11 Accenture Llp System, method and article of manufacture for advanced information gathering for targetted activities
US20070265903A1 (en) * 2006-05-10 2007-11-15 Colin Blair Meeting notification and merging agents
US20080065758A1 (en) * 2006-09-12 2008-03-13 International Business Machines Corporation Dynamic transient buddy and contact lists
US7386477B2 (en) * 1999-02-26 2008-06-10 Accenture Llp Location-based filtering for a shopping agent in the physical world
US20090168609A1 (en) * 2007-12-28 2009-07-02 Weir Robert C Method and system for automatic time-zone sensitive scheduling
US20090210351A1 (en) * 2008-02-15 2009-08-20 Bush Christopher L System and Method for Minimizing Redundant Meetings
US20090216601A1 (en) * 2008-02-22 2009-08-27 B S Chethan Anand Scheduling tool
US20090271716A1 (en) * 2008-04-25 2009-10-29 Angela Richards Jones System and method for real-time scheduling
US20100049808A1 (en) * 2008-08-22 2010-02-25 Cisco Technology, Inc. System and method for utilizing instant messaging to schedule conference calls
US20120022909A1 (en) * 2010-07-23 2012-01-26 Research In Motion Limited Automatic meeting scheduling and available time display
US20120030194A1 (en) * 2010-07-29 2012-02-02 Research In Motion Limited Identification and scheduling of events on a communication device
US8121891B2 (en) * 1998-11-12 2012-02-21 Accenture Global Services Gmbh Personalized product report
US20120213345A1 (en) * 2009-08-21 2012-08-23 Anjul Agarwal Meeting scheduler sending reminders
US20120278381A1 (en) * 2011-04-29 2012-11-01 Andrew Rodney Ferlitsch Integrating an Online Meeting with an Offline Calendar
US8495147B1 (en) * 2006-07-13 2013-07-23 Avaya Inc. Threading of mixed media
US20130254677A1 (en) * 2006-04-12 2013-09-26 Glenn Alan Carroll Method, System, Graphical User Interface, and Data Structure for Creating Electronic Calendar Entries from Email Messages

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5323314A (en) * 1991-12-31 1994-06-21 International Business Machines Corporation Method and system for graphic representation of meeting parameters in a data processing system
US5960406A (en) * 1998-01-22 1999-09-28 Ecal, Corp. Scheduling system for use between users on the web
US6584493B1 (en) * 1999-03-02 2003-06-24 Microsoft Corporation Multiparty conferencing and collaboration system utilizing a per-host model command, control and communication structure
WO2004001558A2 (en) 2002-06-25 2003-12-31 Abs Software Partners Llc System and method for online monitoring of and interaction with chat and instant messaging participants
US7720828B2 (en) 2004-06-29 2010-05-18 Blake Bookstaff Method and system for automated intelligent electronic advertising
DE202006021197U1 (en) * 2005-09-26 2013-08-08 Research In Motion Limited Schedule appointments from electronic messages
US8055707B2 (en) * 2005-11-30 2011-11-08 Alcatel Lucent Calendar interface for digital communications
US7703048B2 (en) 2006-06-27 2010-04-20 International Business Machines Corporation Managing flexible events within an electronic calendar
US20080034305A1 (en) * 2006-08-03 2008-02-07 International Business Machines Corporation Method for providing flexible selection time components
US20080077888A1 (en) 2006-09-22 2008-03-27 Cozi Group, Inc. Calendar application user interface with free-form appointment entry
US8036926B2 (en) * 2007-03-12 2011-10-11 International Business Machines Corporation Techniques for selecting calendar events by examining content of user's recent e-mail activity
US20090228321A1 (en) 2008-03-04 2009-09-10 Oracle International Corporation Accessing an Enterprise Calendar and Scheduling Group Meetings Using a Mobile Device
US20100070877A1 (en) * 2008-09-17 2010-03-18 Microsoft Corporation Seamless conversion of ordinary email data into calendar data
US9529864B2 (en) * 2009-08-28 2016-12-27 Microsoft Technology Licensing, Llc Data mining electronic communications
US8346590B2 (en) * 2010-01-27 2013-01-01 Google Inc. Automatically schedule and re-schedule meetings through search interface

Patent Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6016478A (en) * 1996-08-13 2000-01-18 Starfish Software, Inc. Scheduling system with methods for peer-to-peer scheduling of remote users
US8121891B2 (en) * 1998-11-12 2012-02-21 Accenture Global Services Gmbh Personalized product report
US20070011148A1 (en) * 1998-11-12 2007-01-11 Accenture Llp System, method and article of manufacture for advanced information gathering for targetted activities
US20120173512A1 (en) * 1998-11-12 2012-07-05 Chad Burkey System, Method and Article of Manufacture for Advanced Information Gathering for Targeted Activities
US7386477B2 (en) * 1999-02-26 2008-06-10 Accenture Llp Location-based filtering for a shopping agent in the physical world
US20040064355A1 (en) * 2002-10-01 2004-04-01 Dorenbosch Jheroen Pieter Method and apparatus for scheduling a meeting
US20050027805A1 (en) * 2003-07-15 2005-02-03 Aoki Norihiro Edwin Instant messaging and enhanced scheduling
US20130254677A1 (en) * 2006-04-12 2013-09-26 Glenn Alan Carroll Method, System, Graphical User Interface, and Data Structure for Creating Electronic Calendar Entries from Email Messages
US20070265903A1 (en) * 2006-05-10 2007-11-15 Colin Blair Meeting notification and merging agents
US8495147B1 (en) * 2006-07-13 2013-07-23 Avaya Inc. Threading of mixed media
US20080065758A1 (en) * 2006-09-12 2008-03-13 International Business Machines Corporation Dynamic transient buddy and contact lists
US20090168609A1 (en) * 2007-12-28 2009-07-02 Weir Robert C Method and system for automatic time-zone sensitive scheduling
US20090210351A1 (en) * 2008-02-15 2009-08-20 Bush Christopher L System and Method for Minimizing Redundant Meetings
US20090216601A1 (en) * 2008-02-22 2009-08-27 B S Chethan Anand Scheduling tool
US20090271716A1 (en) * 2008-04-25 2009-10-29 Angela Richards Jones System and method for real-time scheduling
US20100049808A1 (en) * 2008-08-22 2010-02-25 Cisco Technology, Inc. System and method for utilizing instant messaging to schedule conference calls
US20120213345A1 (en) * 2009-08-21 2012-08-23 Anjul Agarwal Meeting scheduler sending reminders
US20120022909A1 (en) * 2010-07-23 2012-01-26 Research In Motion Limited Automatic meeting scheduling and available time display
US20120030194A1 (en) * 2010-07-29 2012-02-02 Research In Motion Limited Identification and scheduling of events on a communication device
US20120278381A1 (en) * 2011-04-29 2012-11-01 Andrew Rodney Ferlitsch Integrating an Online Meeting with an Offline Calendar

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10169741B2 (en) * 2014-01-14 2019-01-01 International Business Machines Corporation Providing geolocation notifications to increase collaboration between users
US20170178083A1 (en) * 2014-01-14 2017-06-22 International Business Machines Corporation Providing geolocation notifications to increase collaboration between users
US9626660B2 (en) 2014-05-07 2017-04-18 International Business Machines Corporation Conflict management in scheduling meetings
US9626659B2 (en) 2014-05-07 2017-04-18 International Business Machines Corporation Conflict management in scheduling meetings
US11010723B2 (en) 2014-05-07 2021-05-18 International Business Machines Corporation Conflict management in scheduling meetings
US10306560B2 (en) * 2014-05-30 2019-05-28 Apple Inc. Operating-mode transitions based on advertising information
US10055567B2 (en) 2014-05-30 2018-08-21 Apple Inc. Proximity unlock and lock operations for electronic devices
US9549375B2 (en) 2014-05-30 2017-01-17 Apple Inc. Operating-mode transitions based on advertising information
US10546113B2 (en) 2014-05-30 2020-01-28 Apple Inc. Proximity unlock and lock operations for electronic devices
US11741210B2 (en) 2014-05-30 2023-08-29 Apple Inc. Proximity unlock and lock operations for electronic devices
US11055392B2 (en) * 2014-05-30 2021-07-06 Apple Inc. Proximity unlock and lock operations for electronic devices
US11107044B2 (en) 2015-06-16 2021-08-31 International Business Machines Corporation Remove selected user identifiers to include in an event message based on a context of an event
EP3279844A1 (en) * 2016-08-01 2018-02-07 BlackBerry Limited Calendar and email application
US10366369B2 (en) 2016-08-01 2019-07-30 Blackberry Limited Calendar and email application

Also Published As

Publication number Publication date
US20120296993A1 (en) 2012-11-22
US9213952B2 (en) 2015-12-15

Similar Documents

Publication Publication Date Title
US9213952B2 (en) Automatic scheduling tool
US8577401B1 (en) Text message sessions
US9473427B2 (en) Method and system for delivering reminder information
US7644125B2 (en) Method, system, and computer program product for synchronization of similar data objects with event information
AU2012327213B2 (en) Creating and discovering real-time conversations
AU2014202947B2 (en) Active e-mails
US11178517B2 (en) Method for changing group type and group creation method and device
KR101863981B1 (en) Using text messages to interact with spreadsheets
US10621681B1 (en) Method and device for automatically generating tag from a conversation in a social networking website
WO2016192244A1 (en) Message management method and device, mobile terminal and storage medium
JP2018117370A (en) Dynamic telephone number assignment
US10554606B1 (en) Message-based keyword, phrase, and object processor and resource allocator
US9369425B2 (en) Email and instant messaging agent for dialog system
CN102769640B (en) The update method of user profile, server and system
US11943310B2 (en) Performing operations based upon activity patterns
US11288637B2 (en) Systems and methods for analytics integration into electronic applications
US11652656B2 (en) Web conference replay association upon meeting completion
US20220394209A1 (en) Multimedia conference data processing method and apparatus, and electronic device
US20230124204A1 (en) Information display method and device, terminal and storage medium
US20120173624A1 (en) Interest-based meeting summarization
US20130055108A1 (en) Managing an On-Line Conference Session
US9906485B1 (en) Apparatus and method for coordinating live computer network events
CN112737918B (en) Method and device for processing mass-sending message in instant communication system
CN114827060B (en) Interaction method and device and electronic equipment
CN105681262A (en) Interaction message allocating method and system

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HEYMAN, JERROLD M.;MILLIGAN, KENTON R.;NELSON, MICHAEL L.;AND OTHERS;SIGNING DATES FROM 20110505 TO 20110511;REEL/FRAME:026292/0756

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION