US20070174417A1 - Integrated two-way communications between database client users and administrators - Google Patents
Integrated two-way communications between database client users and administrators Download PDFInfo
- Publication number
- US20070174417A1 US20070174417A1 US11/337,261 US33726106A US2007174417A1 US 20070174417 A1 US20070174417 A1 US 20070174417A1 US 33726106 A US33726106 A US 33726106A US 2007174417 A1 US2007174417 A1 US 2007174417A1
- Authority
- US
- United States
- Prior art keywords
- database
- message
- client
- address
- dba
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Definitions
- the present invention is in the field of data processing systems and, in particular, to systems, methods and media for integrated two-way communications between users of a database client and database administrators.
- Computer systems such as personal computers (PCs), servers, workstations, and mainframes are well known in the art. Computer systems have attained widespread use for providing computing power to many segments of today's modem society.
- One important function for computer systems is to access, modify, and share information. To accomplish this, information is often stored in a database so that it may be shared among many computer systems.
- Databases typically have a database manager to facilitate access, manipulation, or storage of the information in the database by other computer systems.
- the database manager may typically execute on a database server while computer systems using the database may serve as database clients in a client-server relationship.
- Example database managers include International Business Machine Corporation's (IBM®'s) DB2® database management system, Microsoft Corporation's Microsoft(® SQL Server system, Oracle Corporation's Oracle® database management system, or Sybase, Inc.'s ® database management system.
- Database servers and their clients may run on various operating system platforms and database clients (and their applications) communicate with the database server in order to obtain data from the server.
- a database administrator may be responsible for managing the environmental aspects of a database such as recoverability, resource management, integrity, security, availability, performance, and development and testing support.
- Database server support commonly offers the ability for the database server to notify the DBA of events (such as table locks) for which the DBA has requested notification as well as sending return codes (such as error, warning or informational codes) to a connected application.
- a DBA wishes to inform database client users of particular events, such as when the database needs to be taken down or recycled for maintenance, when the database has performance problems, or other occurrences.
- the DBA may provide better service to database clients and reduce the frustration some database client users feel when the database becomes unavailable for reasons unknown to them.
- IM instant messaging
- This solution suffers from a significant problem in that the DBA must know the IM identity of the database client users who are connected to the database in order to send them an IM message.
- the DBA will not know which particular database client users are connected at any given time and therefore cannot effectively send them IM messages.
- DBAs and database client users often change (such as for different shifts) and are often remote, increasing the difficulty of knowing which database client users are presently using the database.
- Such a solution may also rely on the availability of an IM server to forward the message, as well as both sender and receiver being logged on, further limiting the usefulness of IM.
- database client users do not have an effective and efficient mechanism to communicate with a DBA.
- database client users often do not know the identity of DBAs, they cannot easily contact the DBAs via phone, e-mail, or IM message.
- Embodiments may include a method for communicating between database client users and administrators.
- Embodiments may include receiving a message request to send to one or more recipients, the message request including message content and an indication of the one or more recipients to which a message will be sent.
- Embodiments may also include determining an Internet Protocol (IP) address associated with each of the one or more recipients based on the message request and transmitting a message to each of the determined IP addresses, where the message includes the received message content.
- IP Internet Protocol
- Embodiments may also include receiving a second message from one of the determined IP addresses. Further embodiments may include displaying the message in a display window.
- the one or more recipients may be a DBA and an IP address of a database server is a determined IP address.
- the one or more recipients may be one or more database client users and the determined IP addresses include the IP addresses for one or more database clients.
- An administrator using the disclosed methodology may accordingly transmit anonymous point-to-point messages to database clients for display to its database client users without having to know the identity, IM address, or other information about the database client users.
- a database client user utilizing the disclosed methodology may transmit point-to-point messages to a database server for display to a DBA.
- Another embodiment provides a machine-accessible medium containing instructions effective, when executing in a data processing system, to cause the system to perform a series of operations for communicating between database client users and administrators.
- the series of operations generally includes receiving a message request to send to one or more recipients, the message request including message content and an indication of the one or more recipients to which a message will be sent.
- Embodiments may also include a series of operations for determining an Internet Protocol (IP) address associated with each of the one or more recipients based on the message request and transmitting a message to each of the determined IP addresses, where the message includes the received message content.
- IP Internet Protocol
- Embodiments may also include a series of operations for receiving a second message from one of the determined IP addresses.
- Further embodiments may include a series of operations for displaying the message in a display window.
- the one or more recipients may be a DBA and an IP address of a database server is a determined IP address.
- the one or more recipients may be one or more database client users and the determined IP addresses include the IP addresses for one or more database clients.
- a further embodiment provides a database messaging system.
- the database messaging system may generally include a database client server having a database messaging module.
- the database messaging module may include a database administrator (DBA) interface module to receive a message request, where the message request includes message content and an indication of one or more database clients to which a message will be sent.
- the database messaging module may also include an address module to determine an IP address associated with each of the one or more database clients to which a message will be sent and a database messaging transmitter to transmit a message to each determined IP address, where the message may include the message content.
- Embodiments may also include a database listener to receive a message from a database client.
- Further embodiments may include one or more database clients in communication with the database server via a network, where each database client includes a client messaging module with a user interface module and an address module to determine an IP address associated with the IP server.
- the database client may further include a client transmitter to transmit a message to the IP address of the database server and a client listener for receiving a message from the database server and displaying it to a database client user.
- FIG. 1 depicts an environment for a database two-way messaging system with a database server and one or more database clients according to one embodiment
- FIG. 2 depicts a block diagram of one embodiment of a computer system suitable for use as a component of the database two-way messaging system
- FIG. 3 depicts a conceptual illustration of software components of a database server with a database messaging module according to one embodiment
- FIG. 4 depicts a conceptual illustration of software components of a database client with a client messaging module according to one embodiment
- FIG. 5 depicts an example of a flow chart for receiving a message request and transmitting a message to one or more database clients according to one embodiment
- FIG. 6 depicts an example of a flow chart for receiving a message and providing the message to a DBA according to one embodiment
- FIG. 7 depicts an example of a flow chart for receiving a message from a database server, displaying the message to a database client user, and transmitting a message to a DBA according to one embodiment.
- Embodiments may include receiving a message request to send to one or more recipients, the message request including message content and an indication of the one or more recipients to which a message will be sent.
- Embodiments may also include determining an Internet Protocol (IP) address associated with each of the one or more recipients based on the message request and transmitting a message to each of the determined IP addresses, where the message includes the received message content.
- IP Internet Protocol
- Embodiments may also include receiving a second message from one of the determined IP addresses. Further embodiments may include displaying the message in the display window.
- the system and methodology of the disclosed embodiments provides for an effective and efficient way of providing communication between a DBA and database client users.
- the DBA may advantageously send messages to users of the database client without knowing the identity of those database client users.
- the DBA may accordingly warn database client users of upcoming database interruptions or provide other information just to the database client users who are impacted by the information.
- IM Instant Messaging
- a DBA using the disclosed methodology need not know the name, e-mail address, IM address, or other information about a database client user and instead the disclosed system may rely on the network address of the database client user's computer (the database client) to provide communication.
- a database client user may also transmit messages to the IP address of the database server, which in turn may then display those to a local DBA or redirect them to a remote DBA. Similar to the DBA, a database client user may communicate with the DBA (including responding to DBA messages) using the disclosed methodology without having to know the DBA's identity, only the IP address of the database server associated with the DBA.
- the disclosed system also advantageously does not rely on IM or e-mail servers or other external computer systems to perform its task, increasing the robustness of the solution.
- FIG. 1 depicts an environment for a database two-way messaging system with a database server and one or more database clients according to one embodiment.
- the database messaging system 100 includes a plurality of database clients 102 in communication with a database server 106 via a network 104 and a database 110 in communication with the database server 106 .
- An optional database administrator (DBA) computer system 108 may also be in communication with the database server 106 via a network 104 .
- Each database client 102 may include a database application 112 to access the database 110 through the database server 106 .
- Database client 102 may facilitate communications between database client users and the database server 106 .
- the database server 106 may manage communications to and operations with database 110 and may also, as described in more detail subsequently, facilitate communications from a DBA to users of the database clients 102 and from database client users to the DBA.
- any of the database clients 102 , the database server 106 , the DBA computer system 108 , and the database 110 may be located at the same location, such as in the same building or computer lab, or could be remote. While the term “remote” is used with reference to the distance between the components of the database two-way messaging system 100 , the term is used in the sense of indicating separation of some sort, rather than in the sense of indicating a large physical distance between the systems. For example, any of the components of the database two-way messaging system 100 may be physically adjacent or located as part of the same computer system in some network arrangements, such as when the database server 106 and DBA computer system 108 are part of the same computer system.
- Each database client 102 may include one or more personal computers, workstations, servers, mainframe computers, notebook or laptop computers, desktop computers, PDAs, set-top boxes, mobile phones, wireless devices, or the like.
- a database client 102 may be a computer system as described in relation to FIG. 2 .
- the database client 102 may be in wired or wireless communication with network 104 .
- a database client user may utilize a database client 102 and its database application 112 to facilitate the access, viewing, and use of content on database 110 through the use of database server 106 .
- Application 112 may include any type of executable application that accesses database 110 , such as an application that uses files from database 110 , a word processor, a spreadsheet, business applications (e.g., industry-specific software), a browser, or any other type of application.
- Each database client may include a client listener 114 and a client transmitter 116 as part of a client messaging module, as described in more detail in relation to FIG. 4 .
- the client listener 114 may receive messages from the DBA through the database server 106 , generate a display window (such as a new window or pop-up window) or utilize an existing window, and display the message to a database client user.
- the client listener 114 may monitor a predetermined port and act as a server on the database client 102 machine.
- the client listener 114 may optionally be incorporated into the database application 112 or any database management software installed on the database client 102 .
- the client transmitter 116 may receive a request to transmit a message to a DBA from a database client user, determine the IP address of the database server 106 , and transmit the message to the database server 106 , which in turn provides the message to the DBA.
- the client transmitter 116 may thus act as a client on the database client 102 with respect to the database server 106 .
- Network 104 may be any type or combination of data communications channel(s), such as the Internet, an intranet, a local area network (LAN), a wide area network (WAN), an Ethernet network, a wireless network, a proprietary network, or a broadband cable network.
- a corporate intranet implemented on a LAN may serve as network 104 for communications between components of a corporate database two-way messaging system 100 .
- Those skilled in the art will recognize, however, that the invention described herein may be implemented utilizing any type of data communications channel or combinations of data communication channels.
- the database server 106 provides an interface between database clients 102 and database 110 by facilitating access, manipulation, and storage of information in database 110 by database applications 112 of the database clients 102 .
- the database server 106 may be one or more of any type of computer system, including servers, personal computers, workstations, mainframe computers, notebook or laptop computer, desktop computers, or the like. In some embodiments, the database server 106 may be a computer system as described in relation to FIG. 2 .
- An example database server 106 is an IBM® eServer® server or similar server. In this example, the database server 106 may include software such as IBM®'s DB2® database management system application that provides an effective and robust database platform.
- the database server 106 may include modules such as a database manager 120 , a database monitor 122 , a database messaging transmitter 124 , a DBA interface module 126 , and a database listener 128 .
- the database manager 120 may a database management system such as IBM®'s DB2® database management system, Microsoft®'s SQL Server system, Oracle®'s database management system, or Sybase, Inc.'s ® database management system.
- the database manager 120 may facilitate access, manipulation, or storage of information in database 110 by database applications 112 of the database clients 102 .
- the database monitor 122 may monitor database 110 activities and may also allow database server support to communicate with the DBA.
- the database monitor 122 may monitor any type of database 110 activity, such as when records are inserted, updated, or deleted, deadlock of the database 110 , or exceeding a predefined threshold for file system size. The database monitor 122 may log these activities and/or notify the DBA upon their occurrence.
- the database messaging transmitter 124 and DBA interface module 126 may provide for communications between the DBA to users of the database clients 102 .
- the DBA interface module 126 may receive a message request from a DBA or other person to be sent to one or more database client users via their database clients 102 .
- the DBA interface module 126 provides a graphical user interface (GUI) with which the DBA may input information.
- GUI graphical user interface
- the message request may include both message content (including message text, files for attachment, or other information) and an indication of the database client user or users to whom the message should be sent.
- a DBA or other authorized person may be using a DBA computer system 108 , may be directly accessing database server 106 , or using another computer system.
- the database messaging transmitter 124 may then transmit a message to the network address (i.e., IP address) for each database client 102 .
- the database messaging transmitter 124 may effectively serve as a client to the client listener 114 of the receiving database clients 102 .
- Database servers 106 generally have access to the IP or other network address for all connected database clients 102 and may advantageously use this IP address to communicate with database client users.
- DBAs may advantageously transmit messages to database client users via their database client 102 without having to know the identity, IM address, e-mail address, or other information about the database client users.
- the database listener 128 may facilitate communications from users of the database clients 102 to the DBA.
- the database listener 128 (acting as a server with respect to the client transmitter 116 ) may receive a message transmitted to an IP address of the database server 106 and intended for a DBA, such as by monitoring one or more ports of the database server 106 .
- the database listener 128 may then display or otherwise provide the message to a DBA that is located with the database server 106 , such as by collaborating with the DBA interface module 126 to display the message to the DBA.
- the database listener 128 may redirect the message to the DBA, such as by transmitting the message to the DBA computer system 108 or to a specified beeper, mobile phone, personal digital assistant (PDA), or other device.
- PDA personal digital assistant
- the database 110 may be a collection of related information accessed and managed by a database management system such as database manager 120 .
- Database 110 may be any type of database, such as a hierarchical database or a relational database. Most modern databases are relational databases whose management systems restrict data access to a messaging protocol such as SQL, a nonprocedural language that allows a programmer to specify desired results.
- Example databases 110 may be consistent with management systems such as IBM®'s DB2® database management system, Microsoft®'s SQL Server system, Oracle®'s database management system, or Sybase, Inc.'s ® database management system.
- the data of database 110 may be stored on one or more storage media such as hard drives, on a storage area network (SAN), tape backup, network attached storage (NAS), or in any other fashion or combination of fashions.
- An example hardware solution to store a database 110 may be IBM®'s TotalStorage® line of disk storage systems.
- a DBA may send messages to individual or blocks of database client users and database client users may likewise communicate with the DBA, providing for an effective and efficient mode of two-way communication between database client users and DBAs.
- the DBA may select one or more database clients 102 as well as some sort of message, and the database server 106 may then transmit the message to the IP addresses associated with those database clients 102 .
- the database clients 102 for each of those IP addresses may then display the message to their database client users, such as via a pop-up window.
- a DBA may, for example, notify all database client users who are currently accessing database 110 by specifying the database name before recycling the database 110 so that the database client users know the reason for the outage and how long it is scheduled to last.
- the DBA may effectively broadcast a message to all of those database client users.
- a database client user may not know why the database 110 was down or for how long it might be down, resulting in a frustrating experience.
- the DBA could inform the database client users before terminating the database client user's application or with a recommendation for corrective action.
- the DBA need not know the identity of the database client user and instead may rely on the client IP address maintained by the database server 106 .
- a database client user may similarly use the disclosed system to communicate with a DBA for a database they are using without having to know the identity of the DBA.
- a database client user may initiate the communication with the DBA or respond to communications from the DBA. For example, a database client user experiencing poor connection times or other poor performance may communicate with the DBA to determine if a system-wide problem is causing the problems or to determine a solution.
- a database client user who receives a notice from the DBA that the database 110 will be unavailable in ten minutes may respond to the message to tell the DBA that a mission-critical application 112 is using the database 110 and to request a delay in the planned shut-down.
- the message from the database client user may be displayed to the DBA wherever they are located in some embodiments by providing for redirection capability for remote DBAs.
- Components of the database two-way messaging system 100 may be installed with the database or installed at a later time, such as part of an upgrade or a separate module.
- FIG. 2 depicts a block diagram of one embodiment of a computer system 200 suitable for use as a component of the database two-way messaging system 100 , such as a database client 102 , a database server 106 , or a DBA computer system 108 .
- Other possibilities for the computer system 200 are possible, including a computer having capabilities other than those ascribed herein and possibly beyond those capabilities, and they may, in other embodiments, be any combination of processing devices such as workstations, servers, mainframe computers, notebook or laptop computers, desktop computers, PDAs, mobile phones, wireless devices, set-top boxes, or the like.
- At least certain of the components of computer system 200 may be mounted on a multi-layer planar or motherboard (which may itself be mounted on the chassis) to provide a means for electrically interconnecting the components of the computer system 200 .
- the computer system 200 includes a processor 202 , storage 204 , memory 206 , a user interface adapter 208 , and a display adapter 210 connected to a bus 212 .
- the bus 212 facilitates communication between the processor 202 and other components of the computer system 200 , as well as communication between components.
- Processor 202 may include one or more system central processing units (CPUs) or processors to execute instructions, such as an IBM® PowerPCTM processor, an Intel Pentium® processor, an Advanced Micro Devices Inc. processor, or any other suitable processor.
- the processor 202 may utilize storage 204 , which may be non-volatile storage such as one or more hard drives, tape drives, diskette drives, CD-ROM drive, DVD-ROM drive, or the like.
- the processor 202 may also be connected to memory 206 via bus 212 , such as via a memory controller hub (MCH).
- System memory 206 may include volatile memory such as random access memory (RAM) or double data rate (DDR) synchronous dynamic random access memory (SDRAM).
- the user interface adapter 208 may connect the processor 202 with user interface devices such as a mouse 220 or keyboard 222 .
- the user interface adapter 208 may also connect with other types of user input devices, such as touch pads, touch sensitive screens, electronic pens, microphones, etc.
- a DBA may utilize the user interface devices of a DBA computer system 108 , for example, to input message text and to submit a message request.
- a database client user may input a desired message using the keyboard 222 of a database client 102 .
- the bus 212 may also connect the processor 202 to a display 214 , such as an LCD display or CRT monitor, via the display adapter 210 .
- a database client 102 that receives a message from the database server 106 , or a database server 106 that receives a message from a database client 102 may display that message in a window of display 214 in some embodiments.
- FIG. 3 depicts a conceptual illustration of software components of a database server with a database messaging module according to one embodiment.
- the database server 106 of the depicted embodiment includes a database manager 120 , a database monitor 122 , a communications module 302 , a user interface module 304 , and a database messaging module 310 .
- the database messaging module 310 may include sub-modules such as a database messaging transmitter 124 , a DBA interface module 126 , a database listener 128 , an address module 312 , and a redirection module 314 .
- the database manager 120 , database monitor 122 , database messaging transmitter 124 , DBA interface module 126 , and database listener 128 are described in relation to FIG. 1 and the description will not be repeated for the sake of brevity.
- the communications module 302 may facilitate communications to and from the database server 106 via network 104 , such as communications with database clients 102 or the DBA computer system 108 .
- the user interface module 304 may receive user input from user input devices such as a mouse 220 or keyboard 222 and may also provide output to a user, such as via a display 214 or speaker.
- the database messaging module 310 and its components may receive message requests from a DBA to be sent to one or more database clients 102 , determine the IP addresses associated with the database clients 102 , and transmit a message to those IP addresses.
- the database messaging module 310 and its components may also receive messages transmitted from database clients 102 and display or otherwise provide those messages to DBAs.
- the DBA interface module 126 may receive the message request that includes message content and an indication of one or more database clients 102 to which the message will be sent.
- the DBA interface module 126 may also provide a GUI or text display of a received message to the DBA.
- the address module 312 may determine an IP address associated with each of the one or more database clients 102 to which a message will be sent, after which the database messaging transmitter 124 may transmit the message to the determined IP addresses.
- database servers 106 generally have access to the IP or other network address for all connected database clients 102 .
- the address module 312 may determine the IP addresses in a number of fashions. If a DBA submits a list of one or more IP addresses, the address module 312 may simply use those IP addresses (after optionally converting them to decimal format). If the DBA specifies a database name, the address module 312 may determine all of the IP addresses currently active with or associated with that database.
- duplicate IP addresses may be eliminated.
- the address module 312 may use any methodology to translate the indication of database clients 102 received from the DBA to a list of one or more IP addresses.
- the database listener 128 may receive such message from a database client 102 by monitoring one or more ports of the database server 106 or other methodology.
- the redirection module 314 may provide additional flexibility in providing the content of the message to a DBA. If a DBA is local (i.e., with the database server 106 ), the DBA interface module 126 may display the message to the DBA, as described previously. The redirection module 314 may transmit the message to another device that the DBA is using when a DBA is remote from the database server 106 .
- a DBA may provide to the redirection module 314 preferences for desired locations to receive a forwarded or redirected message, such as the DBA's beeper, mobile phone, a DBA computer system 108 , PDA, etc.
- a forwarded or redirected message such as the DBA's beeper, mobile phone, a DBA computer system 108 , PDA, etc.
- FIG. 4 depicts a conceptual illustration of software components of a database client with a client messaging module according to one embodiment.
- the database client 102 of the depicted embodiment includes a database application 112 , a communications module 402 , and a client messaging module 410 .
- the client messaging module 410 may include sub-modules such as a client listener 114 , a client transmitter 116 , an address module 412 , and a user interface module 414 .
- the database application 112 , client listener 114 , and client transmitter 116 are described in relation to FIG. 1 and the description will not be repeated for the sake of brevity.
- the communications module 402 may facilitate communications to and from the database client 102 via network 104 , such as communications with database server 106 .
- the client messaging module 410 and its components may receive message requests from a database client user to be sent to the DBA, determine the IP addresses associated with the database server 106 , and transmit a message to that IP address.
- the client messaging module 410 and its components may also receive messages from a DBA through the database server 106 and may then display or otherwise provide the message to the user of the database client 102 .
- the client listener 114 and client transmitter 116 may provide for receipt and transmission of messages, respectively, for the client messaging module 410 .
- the address module 412 of the client messaging module 410 may determine an IP address associated with the database server 106 , after which the client transmitter 114 may transmit the message to the determined IP address.
- the address module 412 may determine the IP address in any fashion, such as requesting the IP address of the database server 106 from the database application 112 , which may need such information to provide access to database 110 .
- Database clients 102 generally have access to the IP or other network address for the database server 106 with which they are connected.
- the user interface module 414 may receive user input from user input devices such as a mouse 220 or keyboard 222 and may also provide output to a database client user, such as via a display 214 or speaker.
- the user interface module 414 may display the message using display 214 .
- a user may utilize a GUI or text interface of the user interface module 414 to view a message, input a new message, reply to a message, or request transmission of a message.
- FIG. 5 depicts an example of a flow chart for receiving a message request and transmitting a message to one or more database clients according to one embodiment.
- components of a database server 106 such as the database messaging module 310 and its components may perform the elements of flow chart 500 .
- flow chart 500 begins with element 502 , where the DBA interface module 126 of the database messaging module 310 may receive a message request from the DBA or other authorized person that includes message content that the DBA desires to send to one or more database clients 102 and/or database client users.
- the DBA interface module 126 may receive the message request from a DBA computer system 108 or from a DBA directly accessing the database server 106 .
- the DBA interface module 126 may also receive an indication of the one or more database clients 102 to receive the message at element 504 .
- the indication of database clients 102 to receive the message may be a list of IP addresses for the database clients 102 , a database name, or other indication or combination of indications.
- the message request may include both the message content (e.g., message text, file attachments) and the indication of database clients 102 .
- the address module 312 of the database messaging module 310 may determine the IP addresses associated with the database client 102 indications.
- the address module 312 may determine whether one or more IP addresses were received as the database client 102 indications. If IP addresses were received, the address module 312 may determine the IP addresses for the messaging recipients by converting those IP addresses as necessary, such as by converting them to the decimal format.
- the database messaging transmitter 124 may then transmit the message (based on the message content) to the selected IP addresses at element 508 .
- the address module 312 may determine whether one or more database names were received as part of the database client 102 indication.
- the method of flow chart 400 continues to element 512 , where the address module 312 may determine the IP addresses associated with the database name, such as by cross-referencing the database name with a list of IP addresses currently accessing that database. The address module 312 may also eliminate duplicate IP addresses that may occur when a database client 102 is logged in multiple times. The database messaging transmitter 124 may then transmit the message to the determined IP addresses at element 514 , after which the method terminates.
- the database messaging transmitter 124 is depicted as potentially transmitting a message separately at elements 508 and 514 , some or all of the transmission may be combined into one transmission before termination of method 500 .
- the received indication of one or more database clients 102 received as part of the message request may include a plurality of different methods for indicating database clients 102 .
- a message request may include a list of three IP address as well as a database name.
- the database messaging transmitter 124 may transmit the message to all IP addresses simultaneously if so desired.
- FIG. 6 depicts an example of a flow chart for receiving a message and providing the message to a DBA according to one embodiment.
- components of a database server 106 such as the database messaging module 310 and its components may perform the elements of flow chart 600 .
- the method of flow chart 600 may be performed, for example, when database client users respond to a DBA-transmitted message or when a database client user sends a message to the DBA to report a problem or for other reasons.
- flow chart 600 begins with element 602 , where the database listener 128 may receive a message from a database client user (through a database client 102 ).
- the method of flow chart 600 may determine whether one or more DBAs are at remote locations where they desire to receive user messages.
- a DBA may input such preferences using the DBA interface module 126 . If at least one DBA is local to the database server 106 , the method may display the message at a display 214 of the database server 106 so that the local DBA may see the message.
- the database listener 128 may optionally generate a display window for the message, such as by creating such a display window or requesting another application to do so.
- a display window may be, for example, any aspect of a GUI that allows a message to be displayed such as a browser instantiation, a pop-up window, a text window, etc.
- the database listener 128 may utilize an existing window, such as a window created as part of an ongoing conversation between a DBA and database client user.
- the database listener 128 may then, at element 608 , display the message in the generated display window, allowing the DBA to view the message, after which the method terminates.
- the display window may preempt other items on display 214 so that the DBA is more likely to see the message.
- the method of flow chart 600 continues to element 610 , where the redirection module 314 redirects the received message to the remote DBA, after which the method terminates.
- the location of the remote DBA may be known as the alternative DBA address, and may be an e-mail address, phone or beeper number, IP address or other address.
- the DBA may configure the redirection module 314 to redirect the message to a DBA computer system 108 , mobile phone, beeper, PDA, or any other device so that they may receive user messages without being at the database server 106 .
- the message may be displayed on the DBA's device in any fashion, such as on a mobile phone display screen, etc.
- a DBA may desire to have a message displayed at the database server 106 and also redirected to their beeper so that she always receives messages. Messages may be displayed to multiple DBAs, in another example, by duplicating and redirecting the message to their appropriate addresses (in addition to local display).
- FIG. 7 depicts an example of a flow chart for receiving a message from a database server, displaying the message to a database client user, and transmitting a message to a DBA according to one embodiment.
- components of a database client 102 may perform the elements of flow chart 700 .
- flow chart 700 begins with element 702 , where the client listener 114 of a database client 102 may receive a message from the database server 106 .
- the database client 102 executing the client listener 114 has an IP address matching one of the IP addresses determined by the address module 312 as described in relation to FIG. 5 .
- the client listener 114 may listen on a specified or pre-determined port of the database client 102 for the message. In doing so, the client listener 114 may act as the server on the database client 102 with respect to the database messaging transmitter 124 .
- the client listener 114 may optionally generate a display window for the message at element 704 , such as by creating such a display window or requesting another application to do so.
- a display window may be, for example, any aspect of a graphical user interface (GUI) that allows a message to be displayed such as a browser instantiation, a pop-up window, a text window, etc.
- GUI graphical user interface
- the client listener 114 may utilize an existing window, such as in the case of repeated messages from a DBA or an ongoing conversation.
- the client listener 114 may then, at element 706 , display the message in the display window, allowing a user of the database client 102 to view the message from the DBA.
- the display window may preempt other items on the database client user's display 214 so that they are more likely to see the message.
- the client listener 114 may also optionally determine whether to save the message in a message log at decision block 708 . If the message will be saved, the client listener 114 may store the message in a message log at element 710 .
- the database client user may desire to send a message to the DBA, such as to report a problem or to respond to a message received at element 702 . If it is determined at decision block 712 that no message is to be sent, the method of flow chart 700 may terminate. If a message is to be sent, the method continues to element 714 , where the user interface module 414 of the client messaging module 410 may receive a message request that the database client user desires to send to the DBA.
- the message request may include message content such as text, files, etc., as well as an indication of an intention to send the message to a DBA.
- the address module 412 may determine the IP address associated with the database server 106 at element 716 , such as by requesting such information from the application 112 or from detection when receiving a message.
- the client transmitter 116 may then, at element 718 , transmit the message to the database server IP address for display or redirection to the DBA, after which the method terminates.
- routines executed to implement the embodiments of the invention may be part of an operating system or a specific application, component, program, module, object, or sequence of instructions.
- the computer program of the present invention typically is comprised of a multitude of instructions that will be translated by the native computer into a machine-readable format and hence executable instructions.
- programs are comprised of variables and data structures that either reside locally to the program or are found in memory or on storage devices.
- various programs described hereinafter may be identified based upon the application for which they are implemented in a specific embodiment of the invention. However, it should be appreciated that any particular program nomenclature that follows is used merely for convenience, and thus the invention should not be limited to use solely in any specific application identified and/or implied by such nomenclature.
Abstract
Systems, methods and media for two-way communication between database client users and administrators are disclosed. Embodiments may include a method for communicating between database client users and administrators. Embodiments may include receiving a message request to send to one or more recipients, the message request including message content and an indication of the one or more recipients to which the message will be sent. Embodiments may also include determining an Internet Protocol (IP) address associated with each of the one or more recipients based on the message request and transmitting a message to each of the determined IP addresses, where the message includes the received message content. Embodiments may also include receiving a second message from one of the determined IP addresses. Further embodiments may include displaying the second message in a display window. Recipients of messages may include database administrators (DBAs) or database client users.
Description
- The present invention is in the field of data processing systems and, in particular, to systems, methods and media for integrated two-way communications between users of a database client and database administrators.
- Computer systems such as personal computers (PCs), servers, workstations, and mainframes are well known in the art. Computer systems have attained widespread use for providing computing power to many segments of today's modem society. One important function for computer systems is to access, modify, and share information. To accomplish this, information is often stored in a database so that it may be shared among many computer systems. Databases typically have a database manager to facilitate access, manipulation, or storage of the information in the database by other computer systems. The database manager may typically execute on a database server while computer systems using the database may serve as database clients in a client-server relationship. Example database managers include International Business Machine Corporation's (IBM®'s) DB2® database management system, Microsoft Corporation's Microsoft(® SQL Server system, Oracle Corporation's Oracle® database management system, or Sybase, Inc.'s ® database management system. Database servers and their clients may run on various operating system platforms and database clients (and their applications) communicate with the database server in order to obtain data from the server.
- A database administrator (DBA) may be responsible for managing the environmental aspects of a database such as recoverability, resource management, integrity, security, availability, performance, and development and testing support. Database server support commonly offers the ability for the database server to notify the DBA of events (such as table locks) for which the DBA has requested notification as well as sending return codes (such as error, warning or informational codes) to a connected application. Often, a DBA wishes to inform database client users of particular events, such as when the database needs to be taken down or recycled for maintenance, when the database has performance problems, or other occurrences. By informing database client users of the problem (as well as estimated timelines for completion or workarounds), the DBA may provide better service to database clients and reduce the frustration some database client users feel when the database becomes unavailable for reasons unknown to them.
- One solution to this problem is to use instant messaging (IM) systems to send messages from the DBA to database client users. This solution, however, suffers from a significant problem in that the DBA must know the IM identity of the database client users who are connected to the database in order to send them an IM message. In a typical large database, the DBA will not know which particular database client users are connected at any given time and therefore cannot effectively send them IM messages. Moreover, DBAs and database client users often change (such as for different shifts) and are often remote, increasing the difficulty of knowing which database client users are presently using the database. Such a solution may also rely on the availability of an IM server to forward the message, as well as both sender and receiver being logged on, further limiting the usefulness of IM.
- Another problem is that database client users do not have an effective and efficient mechanism to communicate with a DBA. As database client users often do not know the identity of DBAs, they cannot easily contact the DBAs via phone, e-mail, or IM message. Even if a database client user knows the identity of a DBA, they may not know whether the DBA is on-shift or working from an alternative location, making it more difficult to communicate with the DBA. There is, therefore, a need for an efficient and effective mechanism for providing two-way communication between database client users and administrators.
- The problems identified above are in large part addressed by systems, methods and media for two-way communication between database client users and administrators. Embodiments may include a method for communicating between database client users and administrators. Embodiments may include receiving a message request to send to one or more recipients, the message request including message content and an indication of the one or more recipients to which a message will be sent. Embodiments may also include determining an Internet Protocol (IP) address associated with each of the one or more recipients based on the message request and transmitting a message to each of the determined IP addresses, where the message includes the received message content. Embodiments may also include receiving a second message from one of the determined IP addresses. Further embodiments may include displaying the message in a display window. In some embodiments, the one or more recipients may be a DBA and an IP address of a database server is a determined IP address. In other embodiments, the one or more recipients may be one or more database client users and the determined IP addresses include the IP addresses for one or more database clients. An administrator using the disclosed methodology may accordingly transmit anonymous point-to-point messages to database clients for display to its database client users without having to know the identity, IM address, or other information about the database client users. Similarly, a database client user utilizing the disclosed methodology may transmit point-to-point messages to a database server for display to a DBA.
- Another embodiment provides a machine-accessible medium containing instructions effective, when executing in a data processing system, to cause the system to perform a series of operations for communicating between database client users and administrators. The series of operations generally includes receiving a message request to send to one or more recipients, the message request including message content and an indication of the one or more recipients to which a message will be sent. Embodiments may also include a series of operations for determining an Internet Protocol (IP) address associated with each of the one or more recipients based on the message request and transmitting a message to each of the determined IP addresses, where the message includes the received message content. Embodiments may also include a series of operations for receiving a second message from one of the determined IP addresses. Further embodiments may include a series of operations for displaying the message in a display window. In some embodiments, the one or more recipients may be a DBA and an IP address of a database server is a determined IP address. In other embodiments, the one or more recipients may be one or more database client users and the determined IP addresses include the IP addresses for one or more database clients.
- A further embodiment provides a database messaging system. The database messaging system may generally include a database client server having a database messaging module. The database messaging module may include a database administrator (DBA) interface module to receive a message request, where the message request includes message content and an indication of one or more database clients to which a message will be sent. The database messaging module may also include an address module to determine an IP address associated with each of the one or more database clients to which a message will be sent and a database messaging transmitter to transmit a message to each determined IP address, where the message may include the message content. Embodiments may also include a database listener to receive a message from a database client. Further embodiments may include one or more database clients in communication with the database server via a network, where each database client includes a client messaging module with a user interface module and an address module to determine an IP address associated with the IP server. The database client may further include a client transmitter to transmit a message to the IP address of the database server and a client listener for receiving a message from the database server and displaying it to a database client user.
- Advantages of the invention will become apparent upon reading the following detailed description and upon reference to the accompanying drawings in which, like references may indicate similar elements:
-
FIG. 1 depicts an environment for a database two-way messaging system with a database server and one or more database clients according to one embodiment; -
FIG. 2 depicts a block diagram of one embodiment of a computer system suitable for use as a component of the database two-way messaging system; -
FIG. 3 depicts a conceptual illustration of software components of a database server with a database messaging module according to one embodiment; -
FIG. 4 depicts a conceptual illustration of software components of a database client with a client messaging module according to one embodiment; -
FIG. 5 depicts an example of a flow chart for receiving a message request and transmitting a message to one or more database clients according to one embodiment; -
FIG. 6 depicts an example of a flow chart for receiving a message and providing the message to a DBA according to one embodiment; and -
FIG. 7 depicts an example of a flow chart for receiving a message from a database server, displaying the message to a database client user, and transmitting a message to a DBA according to one embodiment. - The following is a detailed description of example embodiments of the invention depicted in the accompanying drawings. The example embodiments are in such detail as to clearly communicate the invention. However, the amount of detail offered is not intended to limit the anticipated variations of embodiments; on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present invention as defined by the appended claims. The descriptions below are designed to make such embodiments obvious to a person of ordinary skill in the art.
- Generally speaking, systems, methods and media for two-way communication between database client users and an administrator are disclosed. Embodiments may include receiving a message request to send to one or more recipients, the message request including message content and an indication of the one or more recipients to which a message will be sent. Embodiments may also include determining an Internet Protocol (IP) address associated with each of the one or more recipients based on the message request and transmitting a message to each of the determined IP addresses, where the message includes the received message content. Embodiments may also include receiving a second message from one of the determined IP addresses. Further embodiments may include displaying the message in the display window.
- The system and methodology of the disclosed embodiments provides for an effective and efficient way of providing communication between a DBA and database client users. By determining the IP address for the database client to which a DBA desires to send a message, the DBA may advantageously send messages to users of the database client without knowing the identity of those database client users. The DBA may accordingly warn database client users of upcoming database interruptions or provide other information just to the database client users who are impacted by the information. In contrast to using an Instant Messaging (IM) system, a DBA using the disclosed methodology need not know the name, e-mail address, IM address, or other information about a database client user and instead the disclosed system may rely on the network address of the database client user's computer (the database client) to provide communication. Similarly, a database client user may also transmit messages to the IP address of the database server, which in turn may then display those to a local DBA or redirect them to a remote DBA. Similar to the DBA, a database client user may communicate with the DBA (including responding to DBA messages) using the disclosed methodology without having to know the DBA's identity, only the IP address of the database server associated with the DBA. The disclosed system also advantageously does not rely on IM or e-mail servers or other external computer systems to perform its task, increasing the robustness of the solution.
- While specific embodiments will be described below with reference to particular configurations of hardware and/or software, those of skill in the art will realize that embodiments of the present invention may advantageously be implemented with other substantially equivalent hardware and/or software systems. Aspects of the invention described herein may be stored or distributed on computer-readable media, including magnetic and optically readable and removable computer disks, as well as distributed electronically over the Internet or over other networks, including wireless networks. Data structures and transmission of data (including wireless transmission) particular to aspects of the invention are also encompassed within the scope of the invention.
- Turning now to the drawings,
FIG. 1 depicts an environment for a database two-way messaging system with a database server and one or more database clients according to one embodiment. In the depicted embodiment, thedatabase messaging system 100 includes a plurality ofdatabase clients 102 in communication with adatabase server 106 via anetwork 104 and adatabase 110 in communication with thedatabase server 106. An optional database administrator (DBA)computer system 108 may also be in communication with thedatabase server 106 via anetwork 104. Eachdatabase client 102 may include adatabase application 112 to access thedatabase 110 through thedatabase server 106.Database client 102 may facilitate communications between database client users and thedatabase server 106. Thedatabase server 106 may manage communications to and operations withdatabase 110 and may also, as described in more detail subsequently, facilitate communications from a DBA to users of thedatabase clients 102 and from database client users to the DBA. - In the
database messaging system 100, any of thedatabase clients 102, thedatabase server 106, theDBA computer system 108, and thedatabase 110 may be located at the same location, such as in the same building or computer lab, or could be remote. While the term “remote” is used with reference to the distance between the components of the database two-way messaging system 100, the term is used in the sense of indicating separation of some sort, rather than in the sense of indicating a large physical distance between the systems. For example, any of the components of the database two-way messaging system 100 may be physically adjacent or located as part of the same computer system in some network arrangements, such as when thedatabase server 106 andDBA computer system 108 are part of the same computer system. - Each
database client 102 may include one or more personal computers, workstations, servers, mainframe computers, notebook or laptop computers, desktop computers, PDAs, set-top boxes, mobile phones, wireless devices, or the like. In some embodiments, adatabase client 102 may be a computer system as described in relation toFIG. 2 . Thedatabase client 102 may be in wired or wireless communication withnetwork 104. A database client user may utilize adatabase client 102 and itsdatabase application 112 to facilitate the access, viewing, and use of content ondatabase 110 through the use ofdatabase server 106.Application 112 may include any type of executable application that accessesdatabase 110, such as an application that uses files fromdatabase 110, a word processor, a spreadsheet, business applications (e.g., industry-specific software), a browser, or any other type of application. - Each database client may include a
client listener 114 and aclient transmitter 116 as part of a client messaging module, as described in more detail in relation toFIG. 4 . Theclient listener 114 may receive messages from the DBA through thedatabase server 106, generate a display window (such as a new window or pop-up window) or utilize an existing window, and display the message to a database client user. As will be described in more detail subsequently, theclient listener 114 may monitor a predetermined port and act as a server on thedatabase client 102 machine. Theclient listener 114 may optionally be incorporated into thedatabase application 112 or any database management software installed on thedatabase client 102. Theclient transmitter 116 may receive a request to transmit a message to a DBA from a database client user, determine the IP address of thedatabase server 106, and transmit the message to thedatabase server 106, which in turn provides the message to the DBA. Theclient transmitter 116 may thus act as a client on thedatabase client 102 with respect to thedatabase server 106. -
Network 104 may be any type or combination of data communications channel(s), such as the Internet, an intranet, a local area network (LAN), a wide area network (WAN), an Ethernet network, a wireless network, a proprietary network, or a broadband cable network. In one exemplary embodiment, a corporate intranet implemented on a LAN may serve asnetwork 104 for communications between components of a corporate database two-way messaging system 100. Those skilled in the art will recognize, however, that the invention described herein may be implemented utilizing any type of data communications channel or combinations of data communication channels. - The
database server 106 provides an interface betweendatabase clients 102 anddatabase 110 by facilitating access, manipulation, and storage of information indatabase 110 bydatabase applications 112 of thedatabase clients 102. Thedatabase server 106 may be one or more of any type of computer system, including servers, personal computers, workstations, mainframe computers, notebook or laptop computer, desktop computers, or the like. In some embodiments, thedatabase server 106 may be a computer system as described in relation toFIG. 2 . Anexample database server 106 is an IBM® eServer® server or similar server. In this example, thedatabase server 106 may include software such as IBM®'s DB2® database management system application that provides an effective and robust database platform. - The
database server 106 may include modules such as adatabase manager 120, adatabase monitor 122, adatabase messaging transmitter 124, aDBA interface module 126, and adatabase listener 128. Thedatabase manager 120 may a database management system such as IBM®'s DB2® database management system, Microsoft®'s SQL Server system, Oracle®'s database management system, or Sybase, Inc.'s ® database management system. Thedatabase manager 120 may facilitate access, manipulation, or storage of information indatabase 110 bydatabase applications 112 of thedatabase clients 102. The database monitor 122 may monitordatabase 110 activities and may also allow database server support to communicate with the DBA. The database monitor 122 may monitor any type ofdatabase 110 activity, such as when records are inserted, updated, or deleted, deadlock of thedatabase 110, or exceeding a predefined threshold for file system size. The database monitor 122 may log these activities and/or notify the DBA upon their occurrence. - The
database messaging transmitter 124 and DBA interface module 126 (which may both be part of a database messaging module as described in relation toFIG. 3 ) may provide for communications between the DBA to users of thedatabase clients 102. TheDBA interface module 126 may receive a message request from a DBA or other person to be sent to one or more database client users via theirdatabase clients 102. In some embodiments, theDBA interface module 126 provides a graphical user interface (GUI) with which the DBA may input information. The message request may include both message content (including message text, files for attachment, or other information) and an indication of the database client user or users to whom the message should be sent. A DBA or other authorized person may be using aDBA computer system 108, may be directly accessingdatabase server 106, or using another computer system. After receiving the message request, thedatabase messaging transmitter 124 may then transmit a message to the network address (i.e., IP address) for eachdatabase client 102. Thedatabase messaging transmitter 124 may effectively serve as a client to theclient listener 114 of the receivingdatabase clients 102.Database servers 106 generally have access to the IP or other network address for all connecteddatabase clients 102 and may advantageously use this IP address to communicate with database client users. By utilizing the IP address of thedatabase client 102, DBAs may advantageously transmit messages to database client users via theirdatabase client 102 without having to know the identity, IM address, e-mail address, or other information about the database client users. - The
database listener 128 may facilitate communications from users of thedatabase clients 102 to the DBA. The database listener 128 (acting as a server with respect to the client transmitter 116) may receive a message transmitted to an IP address of thedatabase server 106 and intended for a DBA, such as by monitoring one or more ports of thedatabase server 106. Thedatabase listener 128 may then display or otherwise provide the message to a DBA that is located with thedatabase server 106, such as by collaborating with theDBA interface module 126 to display the message to the DBA. If a DBA is remote, thedatabase listener 128 may redirect the message to the DBA, such as by transmitting the message to theDBA computer system 108 or to a specified beeper, mobile phone, personal digital assistant (PDA), or other device. - The
database 110 may be a collection of related information accessed and managed by a database management system such asdatabase manager 120.Database 110 may be any type of database, such as a hierarchical database or a relational database. Most modern databases are relational databases whose management systems restrict data access to a messaging protocol such as SQL, a nonprocedural language that allows a programmer to specify desired results.Example databases 110 may be consistent with management systems such as IBM®'s DB2® database management system, Microsoft®'s SQL Server system, Oracle®'s database management system, or Sybase, Inc.'s ® database management system. The data ofdatabase 110 may be stored on one or more storage media such as hard drives, on a storage area network (SAN), tape backup, network attached storage (NAS), or in any other fashion or combination of fashions. An example hardware solution to store adatabase 110 may be IBM®'s TotalStorage® line of disk storage systems. - Using the disclosed system, a DBA may send messages to individual or blocks of database client users and database client users may likewise communicate with the DBA, providing for an effective and efficient mode of two-way communication between database client users and DBAs. The DBA may select one or
more database clients 102 as well as some sort of message, and thedatabase server 106 may then transmit the message to the IP addresses associated with thosedatabase clients 102. Thedatabase clients 102 for each of those IP addresses may then display the message to their database client users, such as via a pop-up window. A DBA may, for example, notify all database client users who are currently accessingdatabase 110 by specifying the database name before recycling thedatabase 110 so that the database client users know the reason for the outage and how long it is scheduled to last. By selecting a plurality ofdatabase clients 102 and database client users with a database name, the DBA may effectively broadcast a message to all of those database client users. Under previous systems, a database client user may not know why thedatabase 110 was down or for how long it might be down, resulting in a frustrating experience. Similarly, if a DBA noticed that aparticular database client 102 at a particular IP address was lockingdatabase server 106 resources and causing system performance to slow, the DBA could inform the database client users before terminating the database client user's application or with a recommendation for corrective action. For these and other examples, the DBA need not know the identity of the database client user and instead may rely on the client IP address maintained by thedatabase server 106. - A database client user may similarly use the disclosed system to communicate with a DBA for a database they are using without having to know the identity of the DBA. A database client user may initiate the communication with the DBA or respond to communications from the DBA. For example, a database client user experiencing poor connection times or other poor performance may communicate with the DBA to determine if a system-wide problem is causing the problems or to determine a solution. In another example, a database client user who receives a notice from the DBA that the
database 110 will be unavailable in ten minutes may respond to the message to tell the DBA that a mission-critical application 112 is using thedatabase 110 and to request a delay in the planned shut-down. The message from the database client user may be displayed to the DBA wherever they are located in some embodiments by providing for redirection capability for remote DBAs. - Components of the database two-
way messaging system 100, such as theclient listener 114 andclient transmitter 116 of thedatabase client 102 and thedatabase listener 128 anddatabase messaging transmitter 124 of thedatabase server 106, may be installed with the database or installed at a later time, such as part of an upgrade or a separate module. -
FIG. 2 depicts a block diagram of one embodiment of acomputer system 200 suitable for use as a component of the database two-way messaging system 100, such as adatabase client 102, adatabase server 106, or aDBA computer system 108. Other possibilities for thecomputer system 200 are possible, including a computer having capabilities other than those ascribed herein and possibly beyond those capabilities, and they may, in other embodiments, be any combination of processing devices such as workstations, servers, mainframe computers, notebook or laptop computers, desktop computers, PDAs, mobile phones, wireless devices, set-top boxes, or the like. At least certain of the components ofcomputer system 200 may be mounted on a multi-layer planar or motherboard (which may itself be mounted on the chassis) to provide a means for electrically interconnecting the components of thecomputer system 200. - In the depicted embodiment, the
computer system 200 includes aprocessor 202,storage 204,memory 206, auser interface adapter 208, and adisplay adapter 210 connected to abus 212. Thebus 212 facilitates communication between theprocessor 202 and other components of thecomputer system 200, as well as communication between components.Processor 202 may include one or more system central processing units (CPUs) or processors to execute instructions, such as an IBM® PowerPC™ processor, an Intel Pentium® processor, an Advanced Micro Devices Inc. processor, or any other suitable processor. Theprocessor 202 may utilizestorage 204, which may be non-volatile storage such as one or more hard drives, tape drives, diskette drives, CD-ROM drive, DVD-ROM drive, or the like. Theprocessor 202 may also be connected tomemory 206 viabus 212, such as via a memory controller hub (MCH).System memory 206 may include volatile memory such as random access memory (RAM) or double data rate (DDR) synchronous dynamic random access memory (SDRAM). - The
user interface adapter 208 may connect theprocessor 202 with user interface devices such as a mouse 220 orkeyboard 222. Theuser interface adapter 208 may also connect with other types of user input devices, such as touch pads, touch sensitive screens, electronic pens, microphones, etc. A DBA may utilize the user interface devices of aDBA computer system 108, for example, to input message text and to submit a message request. Similarly, a database client user may input a desired message using thekeyboard 222 of adatabase client 102. Thebus 212 may also connect theprocessor 202 to adisplay 214, such as an LCD display or CRT monitor, via thedisplay adapter 210. Adatabase client 102 that receives a message from thedatabase server 106, or adatabase server 106 that receives a message from adatabase client 102, may display that message in a window ofdisplay 214 in some embodiments. -
FIG. 3 depicts a conceptual illustration of software components of a database server with a database messaging module according to one embodiment. Thedatabase server 106 of the depicted embodiment includes adatabase manager 120, adatabase monitor 122, acommunications module 302, auser interface module 304, and adatabase messaging module 310. Thedatabase messaging module 310 may include sub-modules such as adatabase messaging transmitter 124, aDBA interface module 126, adatabase listener 128, anaddress module 312, and aredirection module 314. Thedatabase manager 120,database monitor 122,database messaging transmitter 124,DBA interface module 126, anddatabase listener 128 are described in relation toFIG. 1 and the description will not be repeated for the sake of brevity. - The
communications module 302 may facilitate communications to and from thedatabase server 106 vianetwork 104, such as communications withdatabase clients 102 or theDBA computer system 108. Theuser interface module 304 may receive user input from user input devices such as a mouse 220 orkeyboard 222 and may also provide output to a user, such as via adisplay 214 or speaker. - The
database messaging module 310 and its components may receive message requests from a DBA to be sent to one ormore database clients 102, determine the IP addresses associated with thedatabase clients 102, and transmit a message to those IP addresses. Thedatabase messaging module 310 and its components may also receive messages transmitted fromdatabase clients 102 and display or otherwise provide those messages to DBAs. As described previously, theDBA interface module 126 may receive the message request that includes message content and an indication of one ormore database clients 102 to which the message will be sent. TheDBA interface module 126 may also provide a GUI or text display of a received message to the DBA. - When the
database messaging module 310 is transmitting a message, theaddress module 312 may determine an IP address associated with each of the one ormore database clients 102 to which a message will be sent, after which thedatabase messaging transmitter 124 may transmit the message to the determined IP addresses. As described previously,database servers 106 generally have access to the IP or other network address for all connecteddatabase clients 102. Theaddress module 312 may determine the IP addresses in a number of fashions. If a DBA submits a list of one or more IP addresses, theaddress module 312 may simply use those IP addresses (after optionally converting them to decimal format). If the DBA specifies a database name, theaddress module 312 may determine all of the IP addresses currently active with or associated with that database. If aparticular database client 102 is connected more than once to thesame database 110, duplicate IP addresses may be eliminated. By allowing the DBA to specify a database name, the DBA may effectively broadcast a message to all connecteddatabase clients 102 without having to specify each individually. Theaddress module 312 may use any methodology to translate the indication ofdatabase clients 102 received from the DBA to a list of one or more IP addresses. - When the
database messaging module 310 is receiving a message, thedatabase listener 128 may receive such message from adatabase client 102 by monitoring one or more ports of thedatabase server 106 or other methodology. Theredirection module 314 may provide additional flexibility in providing the content of the message to a DBA. If a DBA is local (i.e., with the database server 106), theDBA interface module 126 may display the message to the DBA, as described previously. Theredirection module 314 may transmit the message to another device that the DBA is using when a DBA is remote from thedatabase server 106. A DBA may provide to theredirection module 314 preferences for desired locations to receive a forwarded or redirected message, such as the DBA's beeper, mobile phone, aDBA computer system 108, PDA, etc. By providing for redirection of messages to a DBA, theredirection module 314 of thedatabase client 106 may efficiently ensure that a DBA receives a message from a database client user. -
FIG. 4 depicts a conceptual illustration of software components of a database client with a client messaging module according to one embodiment. Thedatabase client 102 of the depicted embodiment includes adatabase application 112, acommunications module 402, and aclient messaging module 410. Theclient messaging module 410 may include sub-modules such as aclient listener 114, aclient transmitter 116, anaddress module 412, and auser interface module 414. Thedatabase application 112,client listener 114, andclient transmitter 116 are described in relation toFIG. 1 and the description will not be repeated for the sake of brevity. - The
communications module 402 may facilitate communications to and from thedatabase client 102 vianetwork 104, such as communications withdatabase server 106. Theclient messaging module 410 and its components may receive message requests from a database client user to be sent to the DBA, determine the IP addresses associated with thedatabase server 106, and transmit a message to that IP address. Theclient messaging module 410 and its components may also receive messages from a DBA through thedatabase server 106 and may then display or otherwise provide the message to the user of thedatabase client 102. Theclient listener 114 andclient transmitter 116 may provide for receipt and transmission of messages, respectively, for theclient messaging module 410. - The
address module 412 of theclient messaging module 410 may determine an IP address associated with thedatabase server 106, after which theclient transmitter 114 may transmit the message to the determined IP address. Theaddress module 412 may determine the IP address in any fashion, such as requesting the IP address of thedatabase server 106 from thedatabase application 112, which may need such information to provide access todatabase 110.Database clients 102 generally have access to the IP or other network address for thedatabase server 106 with which they are connected. Theuser interface module 414 may receive user input from user input devices such as a mouse 220 orkeyboard 222 and may also provide output to a database client user, such as via adisplay 214 or speaker. When theclient messaging module 410 receives a message, for example, theuser interface module 414 may display themessage using display 214. A user may utilize a GUI or text interface of theuser interface module 414 to view a message, input a new message, reply to a message, or request transmission of a message. -
FIG. 5 depicts an example of a flow chart for receiving a message request and transmitting a message to one or more database clients according to one embodiment. In one embodiment, components of adatabase server 106 such as thedatabase messaging module 310 and its components may perform the elements offlow chart 500. In the depicted embodiment,flow chart 500 begins withelement 502, where theDBA interface module 126 of thedatabase messaging module 310 may receive a message request from the DBA or other authorized person that includes message content that the DBA desires to send to one ormore database clients 102 and/or database client users. As described previously, theDBA interface module 126 may receive the message request from aDBA computer system 108 or from a DBA directly accessing thedatabase server 106. As part of the receiving the message request, theDBA interface module 126 may also receive an indication of the one ormore database clients 102 to receive the message atelement 504. The indication ofdatabase clients 102 to receive the message may be a list of IP addresses for thedatabase clients 102, a database name, or other indication or combination of indications. In some embodiments, the message request may include both the message content (e.g., message text, file attachments) and the indication ofdatabase clients 102. - After receiving the message request (with its indication of database clients 102), the
address module 312 of thedatabase messaging module 310 may determine the IP addresses associated with thedatabase client 102 indications. Atdecision block 506, theaddress module 312 may determine whether one or more IP addresses were received as thedatabase client 102 indications. If IP addresses were received, theaddress module 312 may determine the IP addresses for the messaging recipients by converting those IP addresses as necessary, such as by converting them to the decimal format. Thedatabase messaging transmitter 124 may then transmit the message (based on the message content) to the selected IP addresses atelement 508. Atdecision block 510, theaddress module 312 may determine whether one or more database names were received as part of thedatabase client 102 indication. If a database name was received, the method of flow chart 400 continues toelement 512, where theaddress module 312 may determine the IP addresses associated with the database name, such as by cross-referencing the database name with a list of IP addresses currently accessing that database. Theaddress module 312 may also eliminate duplicate IP addresses that may occur when adatabase client 102 is logged in multiple times. Thedatabase messaging transmitter 124 may then transmit the message to the determined IP addresses atelement 514, after which the method terminates. - While the
database messaging transmitter 124 is depicted as potentially transmitting a message separately atelements method 500. Moreover, the received indication of one ormore database clients 102 received as part of the message request may include a plurality of different methods for indicatingdatabase clients 102. For example, a message request may include a list of three IP address as well as a database name. In this example, after all the relevant IP addresses are determined by theaddress module 312, thedatabase messaging transmitter 124 may transmit the message to all IP addresses simultaneously if so desired. -
FIG. 6 depicts an example of a flow chart for receiving a message and providing the message to a DBA according to one embodiment. In one embodiment, components of adatabase server 106 such as thedatabase messaging module 310 and its components may perform the elements offlow chart 600. The method offlow chart 600 may be performed, for example, when database client users respond to a DBA-transmitted message or when a database client user sends a message to the DBA to report a problem or for other reasons. In the depicted embodiment,flow chart 600 begins withelement 602, where thedatabase listener 128 may receive a message from a database client user (through a database client 102). Atdecision block 604, the method offlow chart 600 may determine whether one or more DBAs are at remote locations where they desire to receive user messages. A DBA may input such preferences using theDBA interface module 126. If at least one DBA is local to thedatabase server 106, the method may display the message at adisplay 214 of thedatabase server 106 so that the local DBA may see the message. Atelement 606, thedatabase listener 128 may optionally generate a display window for the message, such as by creating such a display window or requesting another application to do so. A display window may be, for example, any aspect of a GUI that allows a message to be displayed such as a browser instantiation, a pop-up window, a text window, etc. Alternatively, thedatabase listener 128 may utilize an existing window, such as a window created as part of an ongoing conversation between a DBA and database client user. Thedatabase listener 128 may then, atelement 608, display the message in the generated display window, allowing the DBA to view the message, after which the method terminates. In some embodiments, the display window may preempt other items ondisplay 214 so that the DBA is more likely to see the message. - If one or more DBAs are remote, the method of
flow chart 600 continues toelement 610, where theredirection module 314 redirects the received message to the remote DBA, after which the method terminates. The location of the remote DBA may be known as the alternative DBA address, and may be an e-mail address, phone or beeper number, IP address or other address. The DBA may configure theredirection module 314 to redirect the message to aDBA computer system 108, mobile phone, beeper, PDA, or any other device so that they may receive user messages without being at thedatabase server 106. The message may be displayed on the DBA's device in any fashion, such as on a mobile phone display screen, etc. While displaying the message to a local DBA and redirecting the message to a remote DBA are depicted as alternatives, one skilled in the art will recognize that the two notification procedures may be combined in any fashion. A DBA, for example, may desire to have a message displayed at thedatabase server 106 and also redirected to their beeper so that she always receives messages. Messages may be displayed to multiple DBAs, in another example, by duplicating and redirecting the message to their appropriate addresses (in addition to local display). -
FIG. 7 depicts an example of a flow chart for receiving a message from a database server, displaying the message to a database client user, and transmitting a message to a DBA according to one embodiment. In one embodiment, components of adatabase client 102 may perform the elements offlow chart 700. In the depicted embodiment,flow chart 700 begins withelement 702, where theclient listener 114 of adatabase client 102 may receive a message from thedatabase server 106. Thedatabase client 102 executing theclient listener 114 has an IP address matching one of the IP addresses determined by theaddress module 312 as described in relation toFIG. 5 . As described previously, theclient listener 114 may listen on a specified or pre-determined port of thedatabase client 102 for the message. In doing so, theclient listener 114 may act as the server on thedatabase client 102 with respect to thedatabase messaging transmitter 124. - After receiving the message, the
client listener 114 may optionally generate a display window for the message atelement 704, such as by creating such a display window or requesting another application to do so. A display window may be, for example, any aspect of a graphical user interface (GUI) that allows a message to be displayed such as a browser instantiation, a pop-up window, a text window, etc. Alternatively, theclient listener 114 may utilize an existing window, such as in the case of repeated messages from a DBA or an ongoing conversation. Theclient listener 114 may then, atelement 706, display the message in the display window, allowing a user of thedatabase client 102 to view the message from the DBA. In some embodiments, the display window may preempt other items on the database client user'sdisplay 214 so that they are more likely to see the message. Theclient listener 114 may also optionally determine whether to save the message in a message log atdecision block 708. If the message will be saved, theclient listener 114 may store the message in a message log atelement 710. - In some embodiments, the database client user may desire to send a message to the DBA, such as to report a problem or to respond to a message received at
element 702. If it is determined atdecision block 712 that no message is to be sent, the method offlow chart 700 may terminate. If a message is to be sent, the method continues toelement 714, where theuser interface module 414 of theclient messaging module 410 may receive a message request that the database client user desires to send to the DBA. The message request may include message content such as text, files, etc., as well as an indication of an intention to send the message to a DBA. Theaddress module 412 may determine the IP address associated with thedatabase server 106 atelement 716, such as by requesting such information from theapplication 112 or from detection when receiving a message. Theclient transmitter 116 may then, atelement 718, transmit the message to the database server IP address for display or redirection to the DBA, after which the method terminates. - In general, the routines executed to implement the embodiments of the invention, may be part of an operating system or a specific application, component, program, module, object, or sequence of instructions. The computer program of the present invention typically is comprised of a multitude of instructions that will be translated by the native computer into a machine-readable format and hence executable instructions. Also, programs are comprised of variables and data structures that either reside locally to the program or are found in memory or on storage devices. In addition, various programs described hereinafter may be identified based upon the application for which they are implemented in a specific embodiment of the invention. However, it should be appreciated that any particular program nomenclature that follows is used merely for convenience, and thus the invention should not be limited to use solely in any specific application identified and/or implied by such nomenclature.
- It will be apparent to those skilled in the art having the benefit of this disclosure that the present invention contemplates -methods, systems, and media for two-way communication between database client users and administrators. It is understood that the form of the invention shown and described in the detailed description and the drawings are to be taken merely as examples. It is intended that the following claims be interpreted broadly to embrace all the variations of the example embodiments disclosed.
Claims (20)
1. A method for communicating between database client users and administrators, the method comprising:
receiving a message request to send to one or more recipients, the message request comprising message content and an indication of the one or more recipients to which a message will be sent;
determining an Internet Protocol (IP) address associated with each of the one or more recipients based on the message request;
transmitting a message to each of the determined IP addresses, the message comprising the received message content; and
receiving a second message from one of the determined IP addresses.
2. The method of claim 1 , further comprising displaying the second message in a display window.
3. The method of claim 2 , further comprising before displaying the second message in the display window, generating the display window.
4. The method of claim 1 , further comprising redirecting the second message to an alternative database administrator (DBA) address.
5. The method of claim 1 , further comprising storing the second message in a message log.
6. The method of claim 1 , wherein the one or more recipients comprise a database administrator (DBA), and wherein further an IP address of a database server is a determined IP address.
7. The method of claim 1 , wherein the one or more recipients comprise one or more database client users, and wherein further the determined IP addresses comprise IP addresses for one or more database clients.
8. The method of claim 1 , wherein the indication of the one or more recipients to which the message will be sent comprises one or more of a database name or an IP address.
9. The method of claim 1 , wherein determining an IP address associated with each of the one or more recipients based on the message request further comprises determining all database client IP addresses associated with a database name.
10. The method of claim 1 , wherein the message content comprises one or more of message text or a file attachment.
11. A machine-accessible medium containing instructions effective, when executing in a data processing system, to cause said data processing system to perform operations comprising:
receiving a message request to send to one or more recipients, the message request comprising message content and an indication of the one or more recipients to which a message will be sent;
determining an Internet Protocol (IP) address associated with each of the one or more recipients based on the message request;
transmitting a message to each of the determined IP addresses, the message comprising the received message content; and
receiving a second message from one of the determined IP addresses.
12. The machine-accessible medium of claim 11 , further comprising displaying the second message in a display window.
13. The machine-accessible medium of claim 11 , further comprising redirecting the second message to an alternative database administrator (DBA) address.
14. The machine-accessible medium of claim 11 , further comprising storing the second message in a message log.
15. The machine-accessible medium of claim 11 , wherein the one or more recipients comprise a database administrator (DBA), and wherein further an IP address of a database server is a determined IP address.
16. The machine-accessible medium of claim 11 , wherein the one or more recipients comprise one or more database client users, and wherein further the determined IP addresses comprise IP addresses for one or more database clients.
17. A database two-way messaging system, the system comprising:
a database server having a database messaging module, the database messaging module comprising:
a database administrator (DBA) interface module, the DBA interface module being adapted to receive a message request, the message request comprising message content and an indication of one or more database clients to which a message will be sent;
an address module, the address module being adapted to determine an Internet Protocol (IP) address associated with each of the one or more database clients to which a message will be sent;
a database messaging transmitter, the database messaging transmitter being adapted to transmit a message to each determined IP address, the message comprising the message content; and
a database listener, the database listener being adapted to receive a message from a database client.
18. The system of claim 17 , further comprising:
a database client having a client messaging module in communication with the database server via a network, the client messaging module comprising:
a user interface module, the user interface module being adapted to receive a message request from a database client user, the message request comprising message content;
an address module, the address module being adapted to determine an IP address associated with the database server;
a client transmitter, the client transmitter being adapted to transmit a message to the IP address of the database server, the message comprising the received message content; and
a client listener, the client listener being adapted to receive a message from the database server and to display the received message to a database client user.
19. The system of claim 17 , wherein the database listener is adapted to one or more of display the message received from the database client or redirect the message received from the database client to a alternative database administrator (DBA) address.
20. The system of claim 17 , wherein the address module is adapted to determine the IP addresses based on a database name.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/337,261 US20070174417A1 (en) | 2006-01-20 | 2006-01-20 | Integrated two-way communications between database client users and administrators |
US12/125,204 US8938507B2 (en) | 2006-01-20 | 2008-05-22 | Integrated two-way communications between database client users and administrators |
US14/552,526 US9634966B2 (en) | 2006-01-20 | 2014-11-25 | Integrated two-way communications between database client users and administrators |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/337,261 US20070174417A1 (en) | 2006-01-20 | 2006-01-20 | Integrated two-way communications between database client users and administrators |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/125,204 Continuation US8938507B2 (en) | 2006-01-20 | 2008-05-22 | Integrated two-way communications between database client users and administrators |
Publications (1)
Publication Number | Publication Date |
---|---|
US20070174417A1 true US20070174417A1 (en) | 2007-07-26 |
Family
ID=38286852
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/337,261 Abandoned US20070174417A1 (en) | 2006-01-20 | 2006-01-20 | Integrated two-way communications between database client users and administrators |
US12/125,204 Expired - Fee Related US8938507B2 (en) | 2006-01-20 | 2008-05-22 | Integrated two-way communications between database client users and administrators |
US14/552,526 Active 2026-03-16 US9634966B2 (en) | 2006-01-20 | 2014-11-25 | Integrated two-way communications between database client users and administrators |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/125,204 Expired - Fee Related US8938507B2 (en) | 2006-01-20 | 2008-05-22 | Integrated two-way communications between database client users and administrators |
US14/552,526 Active 2026-03-16 US9634966B2 (en) | 2006-01-20 | 2014-11-25 | Integrated two-way communications between database client users and administrators |
Country Status (1)
Country | Link |
---|---|
US (3) | US20070174417A1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080222264A1 (en) * | 2006-01-20 | 2008-09-11 | Bostick James E | Integrated Two-Way Communications Between Database Client Users and Administrators |
US20090119536A1 (en) * | 2007-11-07 | 2009-05-07 | Sherry Guo | Intelligent disaster recovery for database connection failures |
US8122115B2 (en) | 2006-01-20 | 2012-02-21 | International Business Machines Corporation | Communication profiles for integrated database messaging system |
US8250237B2 (en) | 2006-01-20 | 2012-08-21 | International Business Machines Corporation | Communication with database client users |
US20210006609A1 (en) * | 2018-10-18 | 2021-01-07 | Paypal, Inc. | Systems and methods for providing dynamic and interactive content in a chat session |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8670332B2 (en) * | 2008-11-07 | 2014-03-11 | Hewlett-Packard Development Company, L.P. | Systems and methods for notifying users of a network resource outage |
US9729480B2 (en) * | 2015-02-04 | 2017-08-08 | Kno2 Llc | Interoperable clinical document-exchange system |
US9721551B2 (en) | 2015-09-29 | 2017-08-01 | Amper Music, Inc. | Machines, systems, processes for automated music composition and generation employing linguistic and/or graphical icon based musical experience descriptions |
US10854180B2 (en) | 2015-09-29 | 2020-12-01 | Amper Music, Inc. | Method of and system for controlling the qualities of musical energy embodied in and expressed by digital music to be automatically composed and generated by an automated music composition and generation engine |
US11164113B2 (en) | 2016-02-05 | 2021-11-02 | Fredrick T Howard | Time limited image sharing |
US11037538B2 (en) | 2019-10-15 | 2021-06-15 | Shutterstock, Inc. | Method of and system for automated musical arrangement and musical instrument performance style transformation supported within an automated music performance system |
US11024275B2 (en) | 2019-10-15 | 2021-06-01 | Shutterstock, Inc. | Method of digitally performing a music composition using virtual musical instruments having performance logic executing within a virtual musical instrument (VMI) library management system |
US10964299B1 (en) | 2019-10-15 | 2021-03-30 | Shutterstock, Inc. | Method of and system for automatically generating digital performances of music compositions using notes selected from virtual musical instruments based on the music-theoretic states of the music compositions |
CN113328902B (en) * | 2020-02-29 | 2023-10-24 | 华为技术有限公司 | Network performance detection method and device and network equipment |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5761696A (en) * | 1996-04-02 | 1998-06-02 | International Business Machines Corporation | Parallel database serving mechanism for a single-level-store computer system |
US6058389A (en) * | 1997-10-31 | 2000-05-02 | Oracle Corporation | Apparatus and method for message queuing in a database system |
US6182075B1 (en) * | 1997-09-26 | 2001-01-30 | International Business Machines Corporation | Method and apparatus for discovery of databases in a client server network |
US20020111986A1 (en) * | 2000-12-05 | 2002-08-15 | Wolfson Charles D. | Integration of messaging functions and database operations |
US6789112B1 (en) * | 2000-05-08 | 2004-09-07 | Citrix Systems, Inc. | Method and apparatus for administering a server having a subsystem in communication with an event channel |
US20040243851A1 (en) * | 2003-05-28 | 2004-12-02 | Chung-I Lee | System and method for controlling user authorities to access one or more databases |
US6920475B1 (en) * | 1999-04-23 | 2005-07-19 | Oracle International Corporation | Communication architecture for distributed computing environment |
US20050198150A1 (en) * | 2004-01-29 | 2005-09-08 | Werner Carl E. | Instant message mass update generated from website entry |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5659728A (en) | 1994-12-30 | 1997-08-19 | International Business Machines Corporation | System and method for generating uniqueness information for optimizing an SQL query |
JP2000010805A (en) | 1998-06-19 | 2000-01-14 | Hitachi Ltd | Routing method for console message, and console system |
WO2000016209A1 (en) * | 1998-09-15 | 2000-03-23 | Local2Me.Com, Inc. | Dynamic matchingtm of users for group communication |
WO2000068856A2 (en) * | 1999-05-11 | 2000-11-16 | Webvan Group, Inc. | Electronic commerce enabled delivery system and method |
CN1111321C (en) | 1999-09-02 | 2003-06-11 | 深圳市中兴通讯股份有限公司 | PHS mobile database system based on V5 interface and its calling method |
US7296150B2 (en) | 2000-10-23 | 2007-11-13 | Business-To-Investor, Inc. | Database management systems and methods of operating the same |
US6868544B2 (en) * | 2000-12-08 | 2005-03-15 | Telcordia Technologies, Inc. | Method and system for general-purpose interactive notifications |
US6915341B2 (en) * | 2002-01-08 | 2005-07-05 | International Business Machines Corporation | System for sending messages to all users in a web hosting environment |
US7793302B2 (en) | 2002-02-21 | 2010-09-07 | Bea Systems, Inc. | System and method for dynamic remote object activation |
US7136858B2 (en) | 2002-05-21 | 2006-11-14 | Bellsouth Intellectual Property Corporation | Network update manager |
US20040078446A1 (en) | 2002-09-17 | 2004-04-22 | Daniell W. Todd | Options associated with instant messaging (IM) chat transcripts of IM chat sessions |
US8719284B2 (en) | 2002-12-18 | 2014-05-06 | International Business Machines Corporation | Method, system and program product for filtering an entry of data items |
US20060053194A1 (en) * | 2004-09-03 | 2006-03-09 | Schneider Ronald E | Systems and methods for collaboration |
US20070239755A1 (en) * | 2005-01-10 | 2007-10-11 | Instant Information Inc. | Methods and systems for messaging in a collaboration system |
US20070162545A1 (en) * | 2005-12-24 | 2007-07-12 | Liu Albert C | Method and system for initiating an instant conversation at backend or at front-end over internet |
US20060224404A1 (en) | 2005-04-05 | 2006-10-05 | Carl Keusseyan | Web-based system and method for screening job candidates |
US20060271698A1 (en) * | 2005-05-16 | 2006-11-30 | Shrader Anthony G | Boa back office integration protocol |
US20070174417A1 (en) | 2006-01-20 | 2007-07-26 | Bostick James E | Integrated two-way communications between database client users and administrators |
US20070174395A1 (en) | 2006-01-20 | 2007-07-26 | Bostick James E | Systems, methods, and media for communication with database client users |
US20070174477A1 (en) | 2006-01-20 | 2007-07-26 | Bostick James E | Communication profiles for integrated database messaging system |
-
2006
- 2006-01-20 US US11/337,261 patent/US20070174417A1/en not_active Abandoned
-
2008
- 2008-05-22 US US12/125,204 patent/US8938507B2/en not_active Expired - Fee Related
-
2014
- 2014-11-25 US US14/552,526 patent/US9634966B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5761696A (en) * | 1996-04-02 | 1998-06-02 | International Business Machines Corporation | Parallel database serving mechanism for a single-level-store computer system |
US6182075B1 (en) * | 1997-09-26 | 2001-01-30 | International Business Machines Corporation | Method and apparatus for discovery of databases in a client server network |
US6058389A (en) * | 1997-10-31 | 2000-05-02 | Oracle Corporation | Apparatus and method for message queuing in a database system |
US6920475B1 (en) * | 1999-04-23 | 2005-07-19 | Oracle International Corporation | Communication architecture for distributed computing environment |
US6789112B1 (en) * | 2000-05-08 | 2004-09-07 | Citrix Systems, Inc. | Method and apparatus for administering a server having a subsystem in communication with an event channel |
US20020111986A1 (en) * | 2000-12-05 | 2002-08-15 | Wolfson Charles D. | Integration of messaging functions and database operations |
US20040243851A1 (en) * | 2003-05-28 | 2004-12-02 | Chung-I Lee | System and method for controlling user authorities to access one or more databases |
US20050198150A1 (en) * | 2004-01-29 | 2005-09-08 | Werner Carl E. | Instant message mass update generated from website entry |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080222264A1 (en) * | 2006-01-20 | 2008-09-11 | Bostick James E | Integrated Two-Way Communications Between Database Client Users and Administrators |
US8122115B2 (en) | 2006-01-20 | 2012-02-21 | International Business Machines Corporation | Communication profiles for integrated database messaging system |
US8250237B2 (en) | 2006-01-20 | 2012-08-21 | International Business Machines Corporation | Communication with database client users |
US8938507B2 (en) | 2006-01-20 | 2015-01-20 | International Business Machines Corporation | Integrated two-way communications between database client users and administrators |
US9634966B2 (en) | 2006-01-20 | 2017-04-25 | Snap Inc. | Integrated two-way communications between database client users and administrators |
US20090119536A1 (en) * | 2007-11-07 | 2009-05-07 | Sherry Guo | Intelligent disaster recovery for database connection failures |
US9258360B2 (en) * | 2007-11-07 | 2016-02-09 | International Business Machines Corporation | Intelligent disaster recovery for database connection failures |
US20210006609A1 (en) * | 2018-10-18 | 2021-01-07 | Paypal, Inc. | Systems and methods for providing dynamic and interactive content in a chat session |
US11711406B2 (en) * | 2018-10-18 | 2023-07-25 | Paypal, Inc. | Systems and methods for providing dynamic and interactive content in a chat session |
Also Published As
Publication number | Publication date |
---|---|
US8938507B2 (en) | 2015-01-20 |
US9634966B2 (en) | 2017-04-25 |
US20150081827A1 (en) | 2015-03-19 |
US20080222264A1 (en) | 2008-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9634966B2 (en) | Integrated two-way communications between database client users and administrators | |
US8122115B2 (en) | Communication profiles for integrated database messaging system | |
US11855858B2 (en) | Systems and methods for providing notifications of changes in a cloud-based file system | |
US8250237B2 (en) | Communication with database client users | |
US7899891B2 (en) | Network adapted for mobile devices | |
JP5211160B2 (en) | How to automatically manage computer network system downtime | |
US8116288B2 (en) | Method for distributing data, adapted for mobile devices | |
US20130226872A1 (en) | On-demand file synchronization | |
US9485202B2 (en) | Alerting recipients to errors occurring when accessing external services | |
WO2007038595A2 (en) | Virtual publication of data, adapted for mobile devices | |
US11784905B2 (en) | Method and apparatus for ensuring continued device operational reliability in cloud-degraded mode | |
US8280914B2 (en) | Service desk interface | |
US9059870B1 (en) | Techniques for managing electronic message distribution | |
US20230231698A1 (en) | Privately querying a database with private set membership using succinct filters | |
US11556402B2 (en) | Metadata plane for application programming interface | |
US11388250B1 (en) | Reduction of data transmissions based on end-user content | |
US20060198306A1 (en) | System and method for controlling a service to use a resource |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BOSTICK, JAMES E.;KAEMMERER, JOHN P.;KALYANARAMAN, RAGHURAMAN;AND OTHERS;REEL/FRAME:017488/0669;SIGNING DATES FROM 20051212 TO 20060103 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |