US20130218995A1 - Two-way instant message forwarding - Google Patents
Two-way instant message forwarding Download PDFInfo
- Publication number
- US20130218995A1 US20130218995A1 US13/759,984 US201313759984A US2013218995A1 US 20130218995 A1 US20130218995 A1 US 20130218995A1 US 201313759984 A US201313759984 A US 201313759984A US 2013218995 A1 US2013218995 A1 US 2013218995A1
- Authority
- US
- United States
- Prior art keywords
- message
- user
- group
- server
- card
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
-
- H04L51/14—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- 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
- 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]
- H04L51/046—Interoperability with other network applications or services
-
- 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/07—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
- H04L51/08—Annexed information, e.g. attachments
-
- 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/21—Monitoring or handling of messages
- H04L51/214—Monitoring or handling of messages using selective forwarding
-
- 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/58—Message adaptation for wireless communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/403—Arrangements for multi-party communication, e.g. for conferences
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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
-
- 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/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
Definitions
- This disclosure relates in general to network communication applications and servers and, but not by way of limitation, to group messaging applications and servers amongst other things.
- Web browsers and web-based instant messaging applications typically rely on push/pull methodologies or timers to re-download and display a web page or instant message.
- Web browsers in particular, often use refresh and/or reload functions to request an already displayed web page in order to display the most up-to-date information.
- social networking pages often undergo regular modification and may require regular reload and/or refresh by a web browser in order to maintain the most up to date information.
- web-based instant messaging (IM) applications also require a reload request prior to having data pushed to the application.
- Refresh/reload functions and timers require the web browser (or web application) to request a web page from the server.
- the systems do not permit instantaneous reload of content. Rather, timers request updated information at set intervals, and refresh/reload functions require user interaction.
- Some non-web-based IM applications use an open channel for rich text based messaging. Most IM applications have very little or no message persistence and/or group persistence.
- Instant messaging applications typically only display instant messages in text or rich text formats. Such formats limit the interaction and richness of the instant messaging experience by not providing for customization, applications, and/or embedded media—particularly based on an open standard like HTML.
- instant messaging applications are user-based. That is, messages are sent from user to user.
- instant messaging applications do not provide significant degrees of persistence for instant message conversations or for groups. Often, closing an IM application results in the loss of conversations and/or data as well as group membership.
- a network communication method at a client with at least a first file includes establishing a first and second connection between the client and a server and receiving a message from the server through the first connection.
- the first connection may include an open connection and the first and second connections are not necessarily established at the same time
- the first message may instruct the client to request first update data from the server through the second network connection.
- a network communication method at a server with at least a first file includes establishing a first connection between a first client and the server, receiving first update data from the first client through the first connection and updating the first file with the first update data.
- the method may also include establishing a second and a third connection between a second client and the server, sending a message to the second client through the second connection, receiving a message from the second client through the third connection, and sending the first update file through the third connection to the client.
- the second connection may be an open connection and the connections are not necessarily established at the same time.
- the message may tell the client that first update data is available at the server.
- the method may further include establishing a plurality of second and third connections between the server and each of a plurality of clients.
- the plurality of first connections may be open connections and the connections are not necessarily established at the same time.
- the method may also include sending a message to each of the plurality of clients through each of the plurality of second connections.
- the message may tell each of the plurality of clients that first update data is available at the server.
- the method may include receiving a message from at least one of the plurality of clients through at least one of the plurality of third connection and sending the first update file through the third connection to each of the plurality of clients that sent a message to the server.
- the message may request that the server send the first update file.
- the method includes maintaining a first group list at the server.
- the first group list may comprise a list of more than one clients including at least a first client, and maintaining at least a first file at the server.
- the method also includes establishing a plurality of first connections between the server and a plurality of clients, sending the first file to the clients in the first group, and establishing a plurality of second connections between the server and the plurality of clients.
- the plurality of clients comprise at least the first client.
- the plurality of second connections may comprise open connections.
- the method may further include receiving a first message from the first client.
- the first message comprises an addendum to the first file, and the first message specifies that the message is intended for clients in the first group, appending the first file with the first message, determining which of the plurality of clients with a second connection are in the first group list, and forwarding the message to the plurality of clients in the first group list through the plurality of second connections.
- a persistent group messaging system may include a network interface, a user interface, and a processor.
- the network interface may be adapted to communicate with a server through one or more communication links.
- the user interface may be adapted to communicate with a user.
- the memory storage device may include instructions for the processor.
- the processor instructions may include instructions to retrieve at least one group message file from the server through the network interface and instructions to display more than one conversation at the user interface.
- the group message file may include more than one conversation.
- the instant messaging application may include a network interface, a user interface, and a processor.
- the network interface may be adapted to communicate with a server through one or more communication links.
- the user interface may be adapted to communicate with a user.
- the memory storage device may include instructions for the processor.
- the instructions may include instructions to receive instant messages from the server through the network interface, instructions to display the instant messages at the user interface; and instructions to display ads at the user interface.
- the ads may be related to the content within the instant messages presently displayed at the user interface and as the instant message conversation progresses and the content changes the ads likewise change to adapt to the changed content.
- a group instant messaging application is disclosed according to one embodiment of the invention.
- the group instant messaging application may include a network interface, a user interface, and a processor.
- the network interface may be adapted to communicate with a server through one or more communication links.
- the user interface may be adapted to communicate with a user.
- the memory storage device may include instructions for the processor.
- the instructions may include instructions to receive more than one instant message conversation from the server through the network interface, and instructions to concurrently display more than one instant message conversation at the user interface.
- the instant messages may comprise messages from more than one user and comprise more than one conversation.
- the network communication apparatus may include a web user agent in communication with a web server, and an instant messaging client in communication with an instant messaging server over an open connection.
- the instant messaging client may receive a message from the instant messaging server informing the network communication apparatus that an updated file is available at the web server and the web user agent requests and receives the updated file from the web server.
- the network communication server may include an open connection server and a persistent data server.
- the open connection server may include an instant messaging client in communication with an instant messaging server.
- the persistent data server may include an instant messaging client in communication with an instant messaging server and a web server in communication with at least one web client.
- An instant messaging method at a first client is disclosed according to one embodiment of the invention.
- the method may include receiving a widget from a user, associating the widget with a button at a client application associated with the first client, and distributing the widget to a second client through a network interface.
- the method may further include receiving a second widget from a third client and associating the widget with a button at a client application associated with the first client.
- FIG. 1 shows a client in communication with a server employing two communication schemes according to one embodiment of the invention.
- FIG. 2 shows a plurality of clients in communication with a server employing two communication schemes according to one embodiment of the invention.
- FIG. 3 shows JABBER and HTTP connections, interfaces and servers in a communication system according to one embodiment of the invention.
- FIGS. 4A and 4B show block diagrams of a group instant messaging server in communication with a group messaging application according to one embodiment of the invention.
- FIG. 5 shows a flowchart describing a method of instantly displaying updated data at a client system in a network configuration according to one embodiment of the invention.
- FIG. 6 shows a flowchart describing a method of instantly displaying updated data at a client system in a network configuration according to one embodiment of the invention.
- FIG. 7 shows a flowchart describing a method of instantly displaying updated data at a client system in a network configuration according to one embodiment of the invention.
- FIG. 8 shows a flowchart describing a method of managing an instant messaging server according to one embodiment of the invention.
- FIG. 9 shows a flowchart describing a method of managing an instant messaging server according to one embodiment of the invention.
- FIG. 10 shows a flowchart describing a method of managing a group instant messaging server according to one embodiment of the invention.
- FIGS. 11A-C show a method of determining whether a new user may participate in a group according to one embodiment of the invention.
- FIGS. 12A-C show screenshots of various features of a group messaging application according to one embodiment of the invention.
- FIG. 13 shows a screenshot of a pop-out card of a group messaging application according to one embodiment of the invention.
- FIG. 14 shows a screenshot of a welcome screen of a group messaging application according to one embodiment of the invention.
- FIG. 15 shows a screenshot of a decision window of a group messaging application according to one embodiment of the invention.
- FIG. 16 shows a screenshot of a card editor of a group messaging application according to one embodiment of the invention.
- FIG. 17 shows a screenshot of a popular groups window of a group messaging application according to one embodiment of the invention.
- FIGS. 18A-F show screenshots of a user profile of a group messaging application according to one embodiment of the invention.
- FIG. 19 shows a screenshot of a group profile of a group messaging application according to one embodiment of the invention.
- FIG. 20 shows a screenshot of group settings of a group messaging application according to one embodiment of the invention.
- FIGS. 21A-C show screenshots of a user invitation window a group messaging application according to one embodiment of the invention.
- FIG. 22 shows a screenshot of group booting window of a group messaging application according to one embodiment of the invention.
- FIG. 23 shows a screenshot of a premium group settings of a messaging application according to one embodiment of the invention.
- FIG. 24 shows a screenshot of a group creation window of a group messaging application according to one embodiment of the invention.
- FIGS. 25A-D show screenshots of card management, editing and sharing according to one embodiment of the invention.
- the present disclosure provides for a web application that instantly refreshes a web page when the web page has been updated at the server.
- the application is in communication with the server over two communication links: an HTTP communication link and an open communication link.
- the web page is transmitted over the HTTP communication link, after which the HTTP communication link may be closed.
- the application may be alerted that the web page has been updated through the open communication link, whereupon the application requests the updated web page from the server.
- the open connection transmits web page updates or the updated web page. Accordingly, updates to web content occur substantially instantaneously without reload, refresh or timers.
- Web content may include instant messaging services, file transfer services, and/or media sharing.
- the present disclosure provides for persistent group messaging.
- Groups are persistent in that group membership is stored and saved on a server.
- Group members may have access to a group including group messages and/or content throughout the existence of the group regardless of when the group members are online and/or regardless of which computer the user uses to connect to the server.
- Messages are persistent in that messages are stored and saved on a server.
- Group members may have access to the messages and may comment and amend messages at any time. When group members are online group messages may occur substantially instantly.
- a client 110 is in communication with a server 120 over two communication links 130 , 140 .
- the communication links 130 , 140 may be different communication schemes.
- the communications links 130 , 140 may communicate using HTTP and/or JABBER protocols.
- any application layer protocol may be used.
- the communication links may be open links. An open link is an established link permitting data to flow from source to destination without requiring either the client or the server to request data for transmission. Open connections may be maintained by sending status packets or queries between the server and the client.
- the connection links 130 , 140 may occur over the Internet, over an intranet or over any other type of communication network.
- the client may be an application running on any computing device, such as, for example, a PC, Mac, PDA, mobile phone, etc.
- FIG. 2 shows a dual communication system 200 between a server 120 and four clients 110 operating on one or more computers according to one embodiment of the invention. As shown, the four clients are in communication with the server using two communication links 130 , 140 . Of course, any number of clients 110 may be coupled with the server 120 using two communication links. The clients 110 may be coupled with the server 120 over the Internet, over an intranet or any other type of communication network. One or more clients may be running as an application on the same computer. Users may run more than one instance of a client application and/or be logged in as more than one user.
- FIG. 3 shows a client 110 and a server 120 with client and server components according to one embodiment of the invention.
- the client 110 includes a JABBER client 111 and a web client 112 .
- the JABBER client 111 is in communication with a JABBER server 121 over the open connection 130 .
- the web client 112 is in communication with a web server 122 over an HTTP connection 140 .
- FIG. 4A shows more detail of components 400 within a client 110 and server 120 according to one embodiment of the invention.
- the client 110 includes an application 113 , an open client 111 , a web user agent 112 , and a development environment 114 .
- the application 113 coordinates input from a user through a user interface and information from the server through the communication links 130 , 140 .
- the application may be stand-alone software embedded in a storage medium on a computer and operable through a computer processor.
- the application may run as multiple instances on the same computer.
- the web user agent 112 communicates with the web server 150 through communication link 140 .
- the web user agent 112 may fetch data from or submit data to the web server using, for example, HTTP.
- HTTP HyperText Transfer Protocol
- Various other transfer protocols are known in the art and may be used by a web user agent to send and receive files from the web server 150 .
- the open client 111 communicates with the open connection server 121 through communication link 130 .
- the open client may be an instant messaging client.
- the communication link 130 may be an open communication link.
- the open client 111 may receive an instant message from the open connection server 121 .
- the open connection server 121 and the open client 111 may utilize any instant message protocol.
- the open connection server 121 and open client 111 may communicate using Gadu-Gadu, Cspace, IRC, Meca Network, MCNP, OSCAR, PSYC, TOC, TOC2, XMPP, SIP/SIMPLE, YMSG, DirectNet, Zephyr, Gale and/or Skype. Other protocols may also be used.
- the development environment 114 is the environment used to develop the client 110 .
- Various development environments are known in the art and may be used to program and code the client 110 .
- the server 120 includes an open connection server with an open connection server 170 and a persistent data server 160 .
- Other servers may be implemented with the server 120 .
- the persistent data server 160 includes an open client 113 -A and a web server 150 .
- the open client 113 -A is in communication with the open connection server 121 .
- the persistent data server 160 also includes a data access layer 161 in communication with a database 180 .
- the data access layer 161 pulls files, updates files and creates files in the database 180 .
- An application server 162 may also be included.
- the persistent data server 160 is developed within a program environment 163 .
- open connection server 170 also includes an open client 113 -B in communication with the open connection server 121 as well as a data access layer 162 -B and a program environment 163 -B.
- FIG. 4B shows specific exemplary components 400 within a client 110 and server 120 according to one embodiment of the invention.
- the open connection server 121 is a JABBER server 121 and the open clients are JABBER clients 111 , 113 .
- the Web client is an HTTP client 112 .
- the database is a MySQL database 180 .
- the application servers 162 are Java application servers and the program environment is a Java 1.5 environment 163 .
- the development environment is the .Net 2.0 environment.
- the web server is Java server pages (JSP) 150 .
- the connection between the HTTP client 112 and the JSP 150 is an HTTP connection and the connection between the JABBER server 121 and the JABBER client 111 is an open connection. In one embodiment, this open connection streams XML.
- FIG. 5 shows a flowchart 500 describing a method of instantly displaying updated data at a client system in a network configuration according to one embodiment of the invention.
- the client establishes an open JABBER connection with a server 505 and an HTTP connection with a server 510 .
- a data file is requested from the server through the HTTP connection 515 .
- the data file is then sent to the client through the HTTP connection 520 .
- the data file may include HTML and may be displayed to a user at the client through a user interface 525 .
- a user may request a web page from a server.
- the web page is retrieved from the server and then displayed on the screen of the computer used by the user.
- a message from the JABBER server is then received by the client through the JABBER connection 530 .
- the message may instruct the client to refresh the data file because the data file has been updated.
- the data file is requested through the HTTP connection 535 whereupon the updated data file is transmitted from the server and received at the client 540 .
- the data file is then displayed again to the user through the user interface 545 .
- FIG. 6 shows another flowchart 600 describing a method of instantly displaying updated data at a client system in a network configuration according to one embodiment of the invention.
- This embodiment is similar to the embodiment discussed above in regard to FIG. 5 .
- the embodiment follows the embodiment discussed in regard to FIG. 5 until the data file is displayed at block 525 .
- a message may then be received from the server through the JABBER connection 550 .
- the message is an addendum to the data file.
- the data file is updated using the message 555 .
- the appended data file is then displayed 560 .
- FIG. 7 shows a flowchart 700 describing a method of instantly displaying updated data at a client system in a network configuration according to one embodiment of the invention.
- a JABBER and an HTTP connection are established 505 , 510 between a client and a server.
- a data file is requested from the server by the client through the HTTP connection 515 .
- the data file is sent by the server and received at the client through the HTTP connection 520 .
- the data file is then displayed through a user interface at the client 525 .
- the data file may include a markup language such as HTML, XHTML, XML or any other mark up language.
- the data file may be displayed in a file specific application, a specialized web browser and/or a standard web browser.
- the data file may include an instant message conversation.
- the data file may also include color schemes and/or preferences.
- a message is received at the client from the user through the user interface 565 .
- the message may include text, data, media, pictures, images, widgets, movies, music, changes to the data file, a markup language, such as HTML, etc.
- a markup language version of the message is created 570 and the markup language version of the message is displayed with the data file through the user interface 575 .
- the markup version of the message is also sent to the server 580 .
- the server may forward the markup version of the message to other clients and/or save the markup version of the message within the data file.
- FIG. 8 shows a flowchart 800 describing a method of managing an instant messaging server according to one embodiment of the invention.
- a first data file is maintained on the server 805 and may be accessible by members of a group.
- a connection is made from the server to a first client and to a second client 810 , 815 .
- the first data file is sent to the first and second clients 820 .
- An open connection between the first client and the server and the second client and the server is made 825 , 830 .
- the first client sends a message to the server through the first open connection 840 .
- the message is then forwarded to the second server 845 .
- the first data file is appended with the message received from the first client 850 and the first data file as appended by the message from the first client is maintained 855 at the server.
- the open connections between the first client and the server and the second client and the server may be established before or after the first data file is sent to the server.
- Other clients may request the first data file.
- the data file may be sent to other clients with the appended data from the message received from the first client.
- Other clients may also send messages to the server, have those messages forwarded to the other clients and have the first data file appended accordingly.
- multiple data files may be maintained at a server.
- FIG. 9 shows another flowchart 900 describing a method of managing an instant messaging server according to one embodiment of the invention.
- a first data file is maintained at the server 805 . Connections are made with more than one client 905 .
- the first data file is sent to the more than one client through the connections 910 .
- a second connection is established between the more than one client and the server 915 .
- the second connection may be an open connection.
- a message is received at the server from one of the more than one client 920 and is forwarded to the other clients connected to the server 845 .
- the first data file is also appended 850 and saved at the server 855 .
- FIG. 10 shows a flowchart 1000 describing a method of managing a group instant messaging server according to one embodiment of the invention.
- a group list is maintained 1005 .
- the group list may include information related to the group and/or the individual group members.
- the group list may include personal information, settings, preferences, IP addresses, aliases, passwords, encryption keys, etc.
- the group list may be saved in a group list database 1006 .
- At least one data file is maintained 805 in a data file database 1011 .
- a connection is established 905 with each online group member, and the first data file is sent to each online group member 910 . These connections may occur at different times and the first data file may be sent to each online group member at different times.
- each connection between the server and the online group members may be closed.
- An open connection may be established with each group member 915 .
- a message is received from one group member through the open connection 920 . The message is then forwarded to each member in the group 845 .
- the first data file is appended with the data in the message 850 and stored in the data file database 1011 .
- the first data file is maintained 855 in the data file database 1011 . At some point a new member of the group comes online and/or signs in 930 , whereupon the appended first data file is sent to the new member in the group 935 .
- FIG. 11A shows a method 1100 of determining whether a new user may participate in a group according to one embodiment of the invention.
- Users may gain access to groups in a variety of ways.
- One embodiment of the invention determines whether a user has the appropriate privileges to access group information.
- a group list is maintained 1005 in a group list database 1001 .
- the group list includes whether the group is password protected, whether the group is public or private and/or whether group entry requires an invitation or not.
- a user first requests to participate in the group 1005 .
- the system determines whether the group is public 1110 . If the group is public, then participation is allowed. Otherwise, the group is private and the system may determine whether the user is a member of the group 1115 . Membership information may be included in the group list.
- participation is allowed 1135 .
- Members may be asked to provide a password or other authentication scheme. If the user is not a member of the private group, the user may be able to participate in the group by providing a password 1120 . If the password is correct, access to the group is allowed. The password may or may not provide membership to the group. In some embodiments, the password may be a one time use password or may limit participation. If a password is not provided, a user may gain access to the group by requesting group membership to the group owner 1125 . Some groups may not allow group membership requests and participation would then be denied 1130 . Otherwise, a participation request is sent to the group owner or group members that approve group membership requests 1125 .
- FIG. 11B shows a method 1150 of inviting a user to join a group according to one embodiment of the invention.
- the owner of the group or any authorized member may send an email message with a membership invitation 1152 .
- the user receives the invitation in email 1154 or in a group messaging application.
- the user may then decide whether to join the group or not 1156 . If the user does not want to join the group he may simply ignore the email from the owner of the group and he is not entered into the group 1158 . If the user received the invitation message in a group messaging application, he may be presented with options to join or not join. The user may then simply select his preference, for example, on a button.
- the user may be directed to a web page or a card within the application may open where he can enter personal details or confirm his identity. If the user already has a user ID 1160 then the group membership database is updated 1164 and he is entered into the group. If the user does not have a user ID he may be directed to create one 1162 , prior to having the group membership database updated 1164 .
- FIG. 11C shoes a method 1170 for dealing with requests to join a group according to one embodiment of the invention.
- the request may come from block 1125 in FIG. 11A .
- the owner receives a request from a user to join a group at 1172 .
- the request may be received within a group application or may be received via email.
- the owner decides whether or not to allow the user to join the group at 1174 . If the owner so desires, membership may be rejected at 1176 or permitted at 1178 . If membership is permitted 1178 , then the membership database is updated to include the new user 1180 and a message is sent to the user letting him know he are in the group at 1182 .
- the user may also be required to create a user ID if he doesn't presently have one.
- FIG. 12A shows a screenshot 1200 of various features of a group messaging application according to one embodiment of the invention.
- a graphical user interface is shown including a toolbar 1220 , four active cards 1230 , an inactive card 1240 , a menu bar 1260 , and a minitab listing bar 1250 .
- a group may include any number of cards. Each card can be considered part of the group conversation. In general, users may create cards and add to content on existing cards. Specifically, a card may include IM functionality where users in a group may carry on a conversation. The messages may be displayed using a markup language such as HTML or XML.
- the toolbar 1220 presents a variety of different views for the user to select from.
- FIG. 12A shows the “SD Friends” window as the active viewable window.
- Other windows may be activated and viewed by simply selecting the tab representing the window.
- the “Yale SOM” window may be activated by selecting the “Yale SOM” tab 1222 .
- Various management tabs may also be present. As shown a “Welcome” tab is shown.
- Other tabs representing other windows such as settings, profiles, search, adding groups, deleting groups, etc may also be included in the toolbar 1220 .
- Each card 1230 is part of the overall group conversation and may be started by any member in the group.
- Each card may include any format and present a variety of information.
- a card may include group messages 1230 A, 1220 -C, embedded media 1230 -B, and/or a group poll 1230 -D.
- Cards can be customized according to one embodiment of the invention.
- a user or group of users can create a card that has a unique or personalized look.
- This unique or personalized look can be specific to one or more groups, or can be specific to all of the groups to which a user belongs as a whole. For example, each user within a group may be assigned a card color; every time the user sends a message to a group, the card that contains his message may be that unique color. This way one can identify, which user sends which messages, among other things and other methods.
- Customizations can include but are not limited to: selecting the card's color, background images, selecting the background color, size and font of the text on the card, selecting an image to appear on the card, adding animation, selecting media to appear on the card; applying widgets to the card; etc.
- a default customization may also be selected whereby new cards are opened with the default customization.
- Customizations may also be saved in a cascading style sheet (CSS) file.
- the CSS file may provide customization to s single card and may be used to apply the customization by default to all other cards.
- the CSS file provides for a simpler HTML or XML code within each card by saving the card presentation characteristics in the CSS file while the content is maintained within a markup language file.
- the CSS file may be saved locally on the computer running the application and/or the CSS file may be maintained on a server.
- a group of users may have their cards customized automatically according to one embodiment of the invention.
- a company or organization can decide that it would like everyone in its company or organization to have its company or organization's logo on every card someone in its company or organization sends.
- the application can set a certain group of people to have card customizations like this or others as a group. Its cards may all look alike, or the cards can be similar in only one or more respects, such as all having the company logo on its cards, but having all other card customizations selectable by the user.
- the user can override the card customizations that have been set for them as a group; in some cases, the user cannot do so.
- Groups that are to share certain card customizations can be established based on any number of methods. These methods include but are not limited to: everyone with an email address from a certain domain can be set to share the same customizations. For example, everyone with an email address from a certain company can have that company's logo automatically display on their cards. Also, a pool of email addresses or usernames can be set up to share certain card customizations. Other ways of grouping users who are to share the same card customizations are also possible.
- cards can also be set to appear not as cards at all, but as messages contained within groups in purely a text (or any other) format, not entirely unlike the way that messages are exchanged within standard instant messengers.
- the messages would still be grouped within the groups to which they belong.
- Cards can also be dragged directly onto the desktop. When a card has been dragged onto the desktop, the card can be set to dynamically display the most current message in a group.
- the card can also be set to dynamically display the most recent message sent by a particular user.
- the card can also remain as a static message.
- the card can also be a blank card that can be ready to accept a new message to be sent to a group.
- the card can also be configured to display a certain message according to any other algorithm or set of preferences.
- Group tabs can also be customized by the group owner (or another entity) in any number of methods.
- the menu bar 1260 may also have a button that opens a new card in the application.
- the new card may, by default, be an instant messaging card.
- the card may also be styled according to user and/or group preferences.
- Cards may contain messages. In some embodiments, there is one message per card. Each card may contain certain details that are relevant to the message and/or sender-specific to that card. Each card may contain details such as, but is not limited to, the sender's user name, the date and time the message was sent or received, the message (which can contain text, audio, video, files, links, or any other data), etc. Within the card links may be included that include, but are not limited to: Profile (allows the sender's profile to be viewed), Email (allows the sender to be directly emailed), IM (allows a traditional IM conversation with the sender to be initiated), Web Page (allows the sender's web page to be accessed), etc. The card may also indicate the online status of the sender.
- the status may vary depending on what the user is doing.
- the status may include an editable message by the user. For example, when the user is online and able to participate, the status may indicate “online”. When the sender is online but has experienced a period of inactivity the status may be indicated as “away”. When the user is not logged into the system the status may be “offline”. Various other status indicators may be used.
- An inactive card 1240 is also shown.
- the inactive card 1240 allows a group member to create a new card.
- a card creation and/or customization window may open when the user selects the “create a new card” link with in the inactive card 1240 .
- the new card is placed within the user interface. Once a new card is created, a new inactive card may be presented.
- the new card is an IM card by default. Changes may be made to a default card, for example, by editing the mark up language.
- Cards can be customized
- a user or group of users can create a card that has a unique or personalized look.
- This unique or personalized look can be specific to one or more groups, or can be specific to all of the groups to which a user belongs as a whole.
- each user within a group is assigned a card color. This means that every time that user sends a message to a group, the card that contains his message may be that unique color. This way one can identify which user send which messages, among other things and other methods.
- the status may also be edited and/or customized by the user.
- Customizations can include but are not limited to: selecting the card's color, selecting the color, size and font of the text on the card, selecting an image to appear on the card, etc.
- a group of users can have his cards customized automatically. For example a company or organization can decide that he would like everyone in his company or organization to have his company or organization's logo on every card someone in its company or organization sends. The system can set a certain group of people to have card customizations like this or others as a group. Is cards can all look alike, or the card can be similar in only one or more respects, such as all having the company logo on his cards, but having all other card customizations selectable by the user. In some cases the user can override the card customizations that have been set for them as a group; in some cases, the user cannot do so.
- These groups that are to share certain card customizations can be established based on any number of methods. These methods include but are not limited to: People with an email address from a certain domain can be set to share the same customizations. For example, everyone with an email address from a certain company can have that company's logo automatically displayed on his cards. Also a pool of email addresses or usernames can be set up to share certain card customizations. Other ways of grouping users who are to share the same card customizations are also possible.
- Cards may also include instant messaging 1230 -A, 1230 -C.
- Messages may be added to the list of messages by entering text into the text field.
- each member of the group that is online displays an update to the card that includes the new message.
- Users may edit posted messages after the message has been posted in the card.
- Users may also include markup language in their messages.
- a URL may be entered into the text field and the Web page or files associated with the URL may be rendered and displayed within the card rather than displaying the URL link to the web page or files.
- Users may also edit and delete past messages within a card.
- the information presented in a IM card is dynamic and may be edited or deleted by the user. Those edits may be sent to the rest of the group. For example, a user may be writing an instant message and he sends the message. The user may have a typo in the message or regret that he sent the message. The user may then simply edit the message within the card and those edits may be sent to the group as well as to the data file on the server where the group data persists.
- the system may limit edits and deletes only to the last version or for a certain time period.
- the menu bar 1260 may contain information with details about the group and buttons that enable key actions related to that group or other groups. Details include but are not limed to details such as the group's age, owner, the number of messages that have been sent to that group, the security level of that group, etc. Buttons enable users to create a group, leave or delete a group, invite a user to a group, remove a user from a group, search for groups, search for users, and do other things.
- the Menu bar may also contain buttons. Many of these buttons may be specifically related to the visible group, while some of them may not. These buttons include but are not limited to: Edit Profile (users can create a profile of themselves that others can view), Settings (users can choose to personalize many settings and customizations), Create Group (users can create groups), Delete or Leave Group (users can delete and/or leave groups), Find Group (users can search for groups and request to be invited to groups), Add User (users can add or invite users to their groups), Remove User (users can remove users from their groups), Find Users (users can search for other users and then invite them to their groups if desired), etc. Another button may be included to open up card widgets that have been created by others in the group or by the user of the group.
- the menu bar 1260 may also include the group name rather than the group number.
- the group name may be translated into a group number and the user may be directed to that group's profile. If the user is a member, he may be transferred automatically to the group and begin participation. A user may also search for members within the search bar.
- the minitab listing bar 1250 may include a number of minitabs. In this embodiment of the invention, three minitabs are shown: Members 1250 -A, Conversations 1250 -B, Files 1250 -C.
- the members' minitab is open and shows the members in the current group.
- the members may be listed in any manner and may include a variety of member information.
- the members' individual profiles may be viewed by selecting the user's name and/or image.
- FIG. 12B show the “Conversations” minitab 1250 -B.
- the users' conversations are listed in reverse chronological order. The number of messages within each conversation is also shown.
- the conversations listed in the conversations minitab 1250 -B relate to cards within a group window.
- FIG. 12C show the “Files” minitab 1250 -C.
- Files are included that may be accessed by group members within the “Files” minitab 1250 -C.
- a user may add files by simply dragging and dropping a file icon or by clicking on the upload button.
- Files may be downloaded and/or opened by selecting a download button.
- Files may also be saved to another location on the user's computer by dragging and dropping the file from the application.
- FIG. 12C also shows a text mark up window 1270 that may be used to markup text entered into a card and sent to the other group members.
- text may be bolded, underlined, and/or italicized.
- the text size may be adjusted and characters may be added. Any variety of text markups may be included.
- the text markup window may be customized and shared to include other markup characters.
- FIG. 13 shows a screenshot 1300 of a pop-out card 1305 of a group messaging application according to one embodiment of the invention.
- the size of a card may be increased and popped-out into a larger individual window by selecting the pop-out button 1310 .
- the card may be returned to its normal size and position by selecting the pop-in button 1312 .
- FIG. 14 shows a screenshot 1400 of a welcome screen 1400 of a group messaging application according to one embodiment of the invention.
- the welcome screen is shown when the welcome tab is selected.
- the welcome screen 1400 includes a list of groups 1405 that the user participates in, a list of friends 1410 , and a list of tags 1415 in a tag cloud.
- the list of tags 1415 may graphically reflect the relevance, importance or popularity of a topic. As shown, the larger the text of the topic, the more popular the term. A user interested in a topic associated with a tag may simply click on the tag and the related information may be opened in an existing card or in a new card.
- Ad space 1420 may also be added to the welcome screen 1400 and/or on screens throughout the application.
- the ads may be topic-specific based on current information being displayed through the cards.
- the ads may adapt to provide ads related to conversations. For example, if users are discussing cars through an instant messaging card ads may be displayed for cars and more specifically for cars or similar cars being discussed. As the conversation progresses, for example, the users may discuss football and the ads may change to ads for football, such as, for example, for football paraphernalia or tickets.
- FIG. 15 shows a screenshot 1500 of a decision window of a group messaging application according to one embodiment of the invention.
- the decision screen is shown when the decisions tab is selected.
- the decision window lists decisions to be made by the user. Typically, decisions revolve around joining groups or contacts. As shown, one decision is whether to let Bill Baker join the user's contacts 1510 . Another example shown is that Tim has invited the user to join his group Rock Stars 1520 and the user can decide what to do (reject or accept the invitations). And, Olga wants to know if she can join the user's Apple Lovers group. Here at the decision window, the user may accept or deny these requests.
- FIG. 16 shows a screenshot 1600 of a card editor of a group messaging application according to one embodiment of the invention.
- a card editor allows users to create a customized card within a group. Cards may also be saved and used in a variety of groups. Custom cards may include HTML, XML or any other markup language to present information to a group.
- the card editor in this embodiment, includes a name and description field 1610 .
- the markup language code in this case HTML, is editable in field 1620 .
- An icon may be associated with the card in field 1630 .
- Various options and settings may also used for a card editor as shown in field 1640 . Cards may be made public or private, shared in a group or groups, and/or kept personal. Buttons for saving and/or sharing a card are also available.
- a preview of the customized card may be displayed.
- a card widget is a portable and specialized card that includes a chunk of code that can be opened by any user and may display the code.
- Card widgets may be coded in HTML as shown.
- the card widget may also use Flash or JavaScript.
- a user may create a portable poll card widget for polling users.
- the card widget can then be saved and shared with other users.
- Other users may then use the card widget in various groups. Examples of card widgets may include, maps, weather pages, games, puzzles, layout, and/or other customizations.
- Card widgets are only bounded by the creativity of the users creating the card widgets.
- card widgets may associated with a button on the menu bar 1260 , whereupon when the button is selected the widget either pops-up into a new window or is entered as a new card within the application.
- FIG. 17 shows a screenshot 1700 of a popular groups window of a group messaging application according to one embodiment of the invention.
- a popular groups window may be selected by selecting a popular tab or by selecting a link.
- the popular groups window displays a list of popular groups 1710 , users 1720 and/or cards 1730 .
- Information related to the group, user or card may also be displayed.
- the group, user or card may be selected and viewed separately, if permitted depending on group membership and whether a group, card, or user information is public or private.
- FIGS. 18A-F shows screenshots 1800 of a user profile in a group messaging application according to one embodiment of the invention.
- User profiles may present information about a user.
- a user may choose a public or private profile, or a semi-public profile.
- FIG. 18A shows a screen 1810 explaining a user's profile is private and that it may be viewed if the user is part of a group with the viewer and/or in the viewer's list of groups.
- a semi-private profile displays some information publicly and withholds other information from viewers in the users groups or contacts.
- FIG. 18B-F shows an exemplary user profile pages.
- the user profile lists various details about a user, such as, for example, email address, photograph, address, telephone number, title, quotes, status, group and contact statistics, video, instant messaging user ids, personal web pages, favorite movies, favorite music, favorite television shows, favorite web pages, work position, employment, education, group membership and/or contacts.
- email address e.g., email address
- photograph e.g., photograph, address, telephone number, title, quotes, status, group and contact statistics
- video instant messaging user ids
- personal web pages e.g., favorite movies, favorite music, favorite television shows, favorite web pages, work position, employment, education, group membership and/or contacts.
- favorite movies e.g., favorite music, favorite television shows, favorite web pages, work position, employment, education, group membership and/or contacts.
- favorite web pages e.g., email address, photograph, address, telephone number, title, quotes, status, group and contact statistics
- video e
- FIG. 19 shows a screenshot 1900 of a group profile in a group messaging application according to one embodiment of the invention.
- the group profile may describe the purpose and/or association of the group.
- the group profile may also list group details such as number of members, number of cards, number of messages, number files, date created, creator, public and private information, related groups, etc.
- FIG. 20 shows a screenshot 2000 of group settings in a group messaging application according to one embodiment of the invention.
- Group setting such as group name, description, and whether the group is public or private may be changed. Such information may be changed only by the group owner or manager.
- a photograph or video may be included in the group settings.
- FIGS. 21A-C shows screenshots 2100 of a user invitation window in a group messaging application according to one embodiment of the invention.
- people may be invited to join a group by sending a message.
- Email address or usernames 2110 may be entered for individuals to be invited to the group. Invited individuals may then receive a message within the application or via email inviting them to join the group.
- FIG. 21B shows a personal message that may be included in the group invitation message.
- FIG. 21C shows a list of usernames and email addresses that have been invited to join the group 2130 . Usernames and ids that were not recognized may also be displayed 2140 .
- FIG. 22 shows a screenshot 2200 of group booting window in a group messaging application according to one embodiment of the invention.
- a group owner may boot others from the group.
- a group owner may simply select members of the group from a list 2210 and choose to have them removed (booted) from the group. Removed members may be re-invited.
- FIG. 23 shows a screenshot 2300 of premium group settings in a messaging application according to one embodiment of the invention.
- Premium groups may also be established that require payment for entry into the group. Newspapers, movies, televisions shows, rock bands, celebrities, etc. may create premium groups that provide premium content and interaction for users that pay for group membership. Membership may be a one time fee or a recurring fee. Premium membership may include a one time event membership.
- a client application may store financial or payment information that may be used to pay for application services, content, premium content, widgets, card widgets, group membership, premium groups, or other Internet based transactions.
- Users may participate in a marketplace where goods and services may be bought and sold.
- User's financial and/or transaction information may be maintained by the client application and provided to financial institutions for payment of a good and/or service.
- the financial and/or transaction information may be saved locally on the computer where the client application is running or on a server. For example, a user may enter their credit card number and other billing information.
- the client application provides the relevant payment information. The user may need to provide a password or other security code to release the payment information.
- FIG. 24 shows a screenshot 2400 of a group creation window in a group messaging application according to one embodiment of the invention.
- a user can create groups by clicking on a “Create Group” button.
- the user can create a group name, add a group description, and set any number of other attributes related to that group.
- that user is considered the “owner” of that group.
- Being the owner of a group enables a user to control many aspects of that group. This includes, but is not limited to: inviting users to that group, kicking off users of that group, sharing ownership with other users, un-sharing ownership with other users, transferring ownership to other users, restricting other's functional capabilities within that group, etc.
- a group can be set up such that everyone in the group is an owner of the group or more than one person is an owner of a group.
- FIGS. 25A-D show various features of the embodiments described in FIGS. 11A-11C according to one embodiment of the invention.
- FIG. 25A shows a screenshot of a card editor.
- the card editor provides a user a way of selecting pre-designed cards for use in their application and for sharing amongst their groups. These cards may include card widgets. Some cards may require a fee to use.
- a search function provides users a way to find various types of cards.
- FIG. 25B shows a screenshot of card management according to one embodiment of the invention.
- a user may view the active cards in their groups and where the cards are placed. Various settings may be included in this view. Cards may be on the toolbar. Cards may be shared or deleted.
- FIG. 25C shows a screenshot of how a user may edit the HTML code of a card according to one embodiment of the invention.
- a card name and description may be entered, and a card icon may be selected The user may also be able to chose whether the card is listed publicly or not.
- FIG. 25D shows a screenshot of how to send a card to groups or individuals according to one embodiment of the invention.
- group information persists at a server. Accordingly, a user may use a group messaging application at any computer by logging into their account. The application may query the group list database at the server and the groups within which the user is a member are opened within the application.
- messages persist at a server. Accordingly, a user may review past messages within a group. Complete conversations and cards persist at the server and are sent to the IM application. Furthermore, IM application settings also persist at the server. When a user logs into an IM application, the IM application queries the server for updated conversations, messages, and other group data that persists at the server.
- Group membership and access to group messages and/or content persist on a server. Membership in a group is maintained beyond a single online session. Group messages and content also persist on a server.
- Messages are also persistent. Messages remain in place even if a user logs off the network and then logs back into the network. Logging in and out, moving from online to offline mode, or any other similar activity does not cause messages to go away. Messages can only go away when they are manually deleted or otherwise automatically deleted as with normal messaging handling rules of the system. However, logging in and out of the system, again, or moving from online to offline mode or vice-versa does not cause messages to go away. Messages can be stored on the hard drive and refreshed upon each time there is an active connection to the network. Similarly, messages can be stored chiefly on the server. Messages can be stored in other ways as well.
- Users can send messages to groups via standard email according to one embodiment of the invention.
- a user can send messages to a group by sending the message via email to an address such as, for example, owner.group@gogroups.com, group.owner@gogroups.com and/or group#@gogroups.com.
- Owner in this case is the screen name of the group owner, and group is either the group name or the group number that the owner owns. If these match a group that exists and people belong to, then the message may appear in the group as do other messages. There may be a notation on that message that it arrived by email.
- the application may forward the message to the group only if the email address from the sender matches an email address in the group member list. Otherwise, the application may not send the message to the group.
- the message may appear in an instant messaging card, a group email message card, and/or sent to each group member's email address.
- a user can setup their preferences to have messages delivered to particular groups forwarded to an email address based on certain definable events. When these messages are received by email, the user can reply to them and have their response delivered to the group to appear as a message. There may be a notation on that message that it arrived by email.
- the user can also have messages delivered to a portable device such as a mobile phone using SMS. Users may also respond and send messages to the group from a mobile device using SMS. A notation may also be included that the message arrived from a mobile device using SMS.
- Cellular phones and personal digital assistants can send messages to a group by sending a message to an appropriate number with or without a designated code to indicate to which group the message should be sent.
- Other designators may be used to specify the card within a group where the message should be displayed.
- Such messages may contain text, images, video, audio and/or any other data, including data describing certain attributes of the data, such as the location (in latitude/longitude or other form), time and/or other details of from where, when, how and by whom it was sent.
- the message may appear in the designated group as do other messages. There may be a notation on that message that it arrived by cellular phone or other wireless device.
- a user can setup their preferences to have messages sent to particular groups forwarded to a wireless device. These messages can be sent via SMS, MMS, WAP, Internet, or any other transmission method. Messages may also be received from a wireless device with SMS, MMS, WAP, Internet, or any other transmission method.
- users can click on a button within a group to initiate a voice and or video conversation that may be accessible and shared with everyone else belonging to that group.
- Voice and/or video shared with members of a group can be live or recorded and may persist on the server.
- Families can be established. Families are groups of users that want to be united in unique ways for any number of reasons. For example, a family can be established such that only users belonging to that family can communicate with each other. Families can then en masse be enabled to communicate with other families or with users not in families or users in the pubic family at once. Families can also be established so that certain families can share access to certain features or customizations.
- Implementation of the techniques, blocks, steps and means described above may be done in various ways. For example, these techniques, blocks, steps and means may be implemented in hardware, software, or a combination thereof.
- the processing units may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, other electronic units designed to perform the functions described above and/or a combination thereof.
- ASICs application specific integrated circuits
- DSPs digital signal processors
- DSPDs digital signal processing devices
- PLDs programmable logic devices
- FPGAs field programmable gate arrays
- processors controllers, micro-controllers, microprocessors, other electronic units designed to perform the functions described above and/or a combination thereof.
- the embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be rearranged.
- a process is terminated when its operations are completed, but could have additional steps not included in the figure.
- a process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination corresponds to a return of the function to the calling function or the main function.
- voice over IP (VOIP) functionality may also be included.
- the JABBER server and JABBER clients may include VOIP functionality using the Jingle protocol over an open connection.
- Real time transport protocol (RTTP) may also be used.
- RTTP Real time transport protocol
- a client application running on a computer with a webcam may send live video to a group through the JABBER client.
- markup language HTML and XML include any information that may be included in a web page.
- the terms may include data such as text, images, videos, audio, as well as markup language coding that describes the structure or presentation of the information in the data.
- markup languages may be used besides XML and HTML.
- embodiments may be implemented by hardware, software, scripting languages, firmware, middleware, microcode, hardware description languages and/or any combination thereof.
- the program code or code segments to perform the necessary tasks may be stored in a machine readable medium, such as a storage medium.
- a code segment or machine-executable instruction may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a script, a class, or any combination of instructions, data structures and/or program statements.
- a code segment may be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters and/or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, etc.
- the methodologies may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein.
- Any machine-readable medium tangibly embodying instructions may be used in implementing the methodologies described herein.
- software codes may be stored in a memory.
- Memory may be implemented within the processor or external to the processor.
- the term “memory” refers to any type of long term, short term, volatile, nonvolatile, or other storage medium and is not to be limited to any particular type of memory or number of memories, or type of media upon which memory is stored.
- the term “storage medium” may represent one or more devices for storing data, including read only memory (ROM), random access memory (RAM), magnetic RAM, core memory, magnetic disk storage mediums, optical storage mediums, flash memory devices and/or other machine readable mediums for storing information.
- ROM read only memory
- RAM random access memory
- magnetic RAM magnetic RAM
- core memory magnetic disk storage mediums
- optical storage mediums flash memory devices and/or other machine readable mediums for storing information.
- machine-readable medium includes, but is not limited to portable or fixed storage devices, optical storage devices, wireless channels and/or various other mediums capable of storing, containing or carrying instruction(s) and/or data.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Human Computer Interaction (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
- This application is a continuation of U.S. patent application Ser. No. 13/407,373 filed Feb. 28, 2012, entitled “Method And System For Messaging And Communication Based On Groups,” which is a continuation of U.S. patent application Ser. No. 11/681,507 filed Mar. 2, 2007, entitled “Method And System For Messaging And Communication Based On Groups,” which claims the benefit of U.S. Provisional Application No. 60/778,609, filed on Mar. 3, 2006, entitled “Method And System For Messaging And Communication Based On Groups,” the entire disclosure of all of the aforementioned Nonprovisional and Provisional U.S. Patent Applications are hereby incorporated by reference, for all purposes, as if fully set forth herein.
- This disclosure relates in general to network communication applications and servers and, but not by way of limitation, to group messaging applications and servers amongst other things.
- Web browsers and web-based instant messaging applications typically rely on push/pull methodologies or timers to re-download and display a web page or instant message. Web browsers, in particular, often use refresh and/or reload functions to request an already displayed web page in order to display the most up-to-date information. In particular, social networking pages often undergo regular modification and may require regular reload and/or refresh by a web browser in order to maintain the most up to date information. Moreover, web-based instant messaging (IM) applications also require a reload request prior to having data pushed to the application. Refresh/reload functions and timers require the web browser (or web application) to request a web page from the server. The systems do not permit instantaneous reload of content. Rather, timers request updated information at set intervals, and refresh/reload functions require user interaction. Some non-web-based IM applications use an open channel for rich text based messaging. Most IM applications have very little or no message persistence and/or group persistence.
- Instant messaging applications typically only display instant messages in text or rich text formats. Such formats limit the interaction and richness of the instant messaging experience by not providing for customization, applications, and/or embedded media—particularly based on an open standard like HTML. Moreover, instant messaging applications are user-based. That is, messages are sent from user to user. Furthermore, instant messaging applications do not provide significant degrees of persistence for instant message conversations or for groups. Often, closing an IM application results in the loss of conversations and/or data as well as group membership.
- There is a need in the art for a more interactive web browsing application as well as a more persistent, group, media & HTML-capable instant messaging application.
- In one embodiment of the invention a network communication method at a client with at least a first file is disclosed. The method includes establishing a first and second connection between the client and a server and receiving a message from the server through the first connection. The first connection may include an open connection and the first and second connections are not necessarily established at the same time The first message may instruct the client to request first update data from the server through the second network connection.
- A network communication method at a server with at least a first file is disclosed according to another embodiment of the invention. The method includes establishing a first connection between a first client and the server, receiving first update data from the first client through the first connection and updating the first file with the first update data. The method may also include establishing a second and a third connection between a second client and the server, sending a message to the second client through the second connection, receiving a message from the second client through the third connection, and sending the first update file through the third connection to the client. The second connection may be an open connection and the connections are not necessarily established at the same time. The message may tell the client that first update data is available at the server. The method may further include establishing a plurality of second and third connections between the server and each of a plurality of clients. The plurality of first connections may be open connections and the connections are not necessarily established at the same time. The method may also include sending a message to each of the plurality of clients through each of the plurality of second connections. The message may tell each of the plurality of clients that first update data is available at the server. The method may include receiving a message from at least one of the plurality of clients through at least one of the plurality of third connection and sending the first update file through the third connection to each of the plurality of clients that sent a message to the server. The message may request that the server send the first update file.
- Another network communication method at a server is disclosed according to another embodiment of the invention. The method includes maintaining a first group list at the server. The first group list may comprise a list of more than one clients including at least a first client, and maintaining at least a first file at the server. The method also includes establishing a plurality of first connections between the server and a plurality of clients, sending the first file to the clients in the first group, and establishing a plurality of second connections between the server and the plurality of clients. The plurality of clients comprise at least the first client. The plurality of second connections may comprise open connections. The method may further include receiving a first message from the first client. The first message comprises an addendum to the first file, and the first message specifies that the message is intended for clients in the first group, appending the first file with the first message, determining which of the plurality of clients with a second connection are in the first group list, and forwarding the message to the plurality of clients in the first group list through the plurality of second connections.
- A persistent group messaging system is disclosed according to another embodiment of the invention. The system may include a network interface, a user interface, and a processor. The network interface may be adapted to communicate with a server through one or more communication links. The user interface may be adapted to communicate with a user. The memory storage device may include instructions for the processor. The processor instructions may include instructions to retrieve at least one group message file from the server through the network interface and instructions to display more than one conversation at the user interface. The group message file may include more than one conversation.
- An instant messaging application is disclosed according to one embodiment of the invention. The instant messaging application may include a network interface, a user interface, and a processor. The network interface may be adapted to communicate with a server through one or more communication links. The user interface may be adapted to communicate with a user. The memory storage device may include instructions for the processor. The instructions may include instructions to receive instant messages from the server through the network interface, instructions to display the instant messages at the user interface; and instructions to display ads at the user interface. The ads may be related to the content within the instant messages presently displayed at the user interface and as the instant message conversation progresses and the content changes the ads likewise change to adapt to the changed content.
- A group instant messaging application is disclosed according to one embodiment of the invention. The group instant messaging application may include a network interface, a user interface, and a processor. The network interface may be adapted to communicate with a server through one or more communication links. The user interface may be adapted to communicate with a user. The memory storage device may include instructions for the processor. The instructions may include instructions to receive more than one instant message conversation from the server through the network interface, and instructions to concurrently display more than one instant message conversation at the user interface. The instant messages may comprise messages from more than one user and comprise more than one conversation.
- A network communication apparatus is disclosed according to one embodiment of the invention. The network communication apparatus may include a web user agent in communication with a web server, and an instant messaging client in communication with an instant messaging server over an open connection. The instant messaging client may receive a message from the instant messaging server informing the network communication apparatus that an updated file is available at the web server and the web user agent requests and receives the updated file from the web server.
- A network communication server is disclosed according to one embodiment of the invention. The network communication server may include an open connection server and a persistent data server. The open connection server may include an instant messaging client in communication with an instant messaging server. The persistent data server may include an instant messaging client in communication with an instant messaging server and a web server in communication with at least one web client.
- An instant messaging method at a first client is disclosed according to one embodiment of the invention. The method may include receiving a widget from a user, associating the widget with a button at a client application associated with the first client, and distributing the widget to a second client through a network interface. The method may further include receiving a second widget from a third client and associating the widget with a button at a client application associated with the first client.
- Further areas of applicability of the present disclosure will become apparent from the detailed description provided hereinafter. It should be understood that the detailed description and specific examples, while indicating various embodiments, are intended for purposes of illustration only and are not intended to necessarily limit the scope of the disclosure.
-
FIG. 1 shows a client in communication with a server employing two communication schemes according to one embodiment of the invention. -
FIG. 2 shows a plurality of clients in communication with a server employing two communication schemes according to one embodiment of the invention. -
FIG. 3 shows JABBER and HTTP connections, interfaces and servers in a communication system according to one embodiment of the invention. -
FIGS. 4A and 4B show block diagrams of a group instant messaging server in communication with a group messaging application according to one embodiment of the invention. -
FIG. 5 shows a flowchart describing a method of instantly displaying updated data at a client system in a network configuration according to one embodiment of the invention. -
FIG. 6 shows a flowchart describing a method of instantly displaying updated data at a client system in a network configuration according to one embodiment of the invention. -
FIG. 7 shows a flowchart describing a method of instantly displaying updated data at a client system in a network configuration according to one embodiment of the invention. -
FIG. 8 shows a flowchart describing a method of managing an instant messaging server according to one embodiment of the invention. -
FIG. 9 shows a flowchart describing a method of managing an instant messaging server according to one embodiment of the invention. -
FIG. 10 shows a flowchart describing a method of managing a group instant messaging server according to one embodiment of the invention. -
FIGS. 11A-C show a method of determining whether a new user may participate in a group according to one embodiment of the invention. -
FIGS. 12A-C show screenshots of various features of a group messaging application according to one embodiment of the invention. -
FIG. 13 shows a screenshot of a pop-out card of a group messaging application according to one embodiment of the invention. -
FIG. 14 shows a screenshot of a welcome screen of a group messaging application according to one embodiment of the invention. -
FIG. 15 shows a screenshot of a decision window of a group messaging application according to one embodiment of the invention. -
FIG. 16 shows a screenshot of a card editor of a group messaging application according to one embodiment of the invention. -
FIG. 17 shows a screenshot of a popular groups window of a group messaging application according to one embodiment of the invention. -
FIGS. 18A-F show screenshots of a user profile of a group messaging application according to one embodiment of the invention. -
FIG. 19 shows a screenshot of a group profile of a group messaging application according to one embodiment of the invention. -
FIG. 20 shows a screenshot of group settings of a group messaging application according to one embodiment of the invention. -
FIGS. 21A-C show screenshots of a user invitation window a group messaging application according to one embodiment of the invention. -
FIG. 22 shows a screenshot of group booting window of a group messaging application according to one embodiment of the invention. -
FIG. 23 shows a screenshot of a premium group settings of a messaging application according to one embodiment of the invention. -
FIG. 24 shows a screenshot of a group creation window of a group messaging application according to one embodiment of the invention. -
FIGS. 25A-D show screenshots of card management, editing and sharing according to one embodiment of the invention. - In the appended figures, similar components and/or features may have the same reference label. Further, various components of the same type may be distinguished by following the reference label by a dash and a second label that distinguishes among the similar components. If only the first reference label is used in the specification, the description is applicable to any one of the similar components having the same first reference label irrespective of the second reference label.
- The ensuing description provides preferred exemplary embodiment(s) only, and is not intended to limit the scope, applicability or configuration of the disclosure. Rather, the ensuing description of the preferred exemplary embodiment(s) will provide those skilled in the art with an enabling description for implementing a preferred exemplary embodiment. It being understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope as set forth in the appended claims.
- In one embodiment, the present disclosure provides for a web application that instantly refreshes a web page when the web page has been updated at the server. The application is in communication with the server over two communication links: an HTTP communication link and an open communication link. The web page is transmitted over the HTTP communication link, after which the HTTP communication link may be closed. The application may be alerted that the web page has been updated through the open communication link, whereupon the application requests the updated web page from the server. In other embodiments, the open connection transmits web page updates or the updated web page. Accordingly, updates to web content occur substantially instantaneously without reload, refresh or timers. Web content may include instant messaging services, file transfer services, and/or media sharing.
- In yet another embodiment, the present disclosure provides for persistent group messaging. Groups are persistent in that group membership is stored and saved on a server. Group members may have access to a group including group messages and/or content throughout the existence of the group regardless of when the group members are online and/or regardless of which computer the user uses to connect to the server. Messages are persistent in that messages are stored and saved on a server. Group members may have access to the messages and may comment and amend messages at any time. When group members are online group messages may occur substantially instantly.
- Referring first to
FIG. 1 , a dual communication system is disclosed according to one embodiment of the invention. Aclient 110 is in communication with aserver 120 over twocommunication links communications links - The client may be an application running on any computing device, such as, for example, a PC, Mac, PDA, mobile phone, etc.
-
FIG. 2 shows adual communication system 200 between aserver 120 and fourclients 110 operating on one or more computers according to one embodiment of the invention. As shown, the four clients are in communication with the server using twocommunication links clients 110 may be coupled with theserver 120 using two communication links. Theclients 110 may be coupled with theserver 120 over the Internet, over an intranet or any other type of communication network. One or more clients may be running as an application on the same computer. Users may run more than one instance of a client application and/or be logged in as more than one user. -
FIG. 3 shows aclient 110 and aserver 120 with client and server components according to one embodiment of the invention. In this embodiment, theclient 110 includes aJABBER client 111 and aweb client 112. TheJABBER client 111 is in communication with aJABBER server 121 over theopen connection 130. Theweb client 112 is in communication with aweb server 122 over anHTTP connection 140. -
FIG. 4A shows more detail ofcomponents 400 within aclient 110 andserver 120 according to one embodiment of the invention. Theclient 110 includes anapplication 113, anopen client 111, aweb user agent 112, and adevelopment environment 114. Theapplication 113 coordinates input from a user through a user interface and information from the server through the communication links 130, 140. The application may be stand-alone software embedded in a storage medium on a computer and operable through a computer processor. The application may run as multiple instances on the same computer. - The
web user agent 112 communicates with theweb server 150 throughcommunication link 140. Theweb user agent 112 may fetch data from or submit data to the web server using, for example, HTTP. Various other transfer protocols are known in the art and may be used by a web user agent to send and receive files from theweb server 150. - The
open client 111 communicates with theopen connection server 121 throughcommunication link 130. The open client may be an instant messaging client. Thecommunication link 130 may be an open communication link. Theopen client 111 may receive an instant message from theopen connection server 121. Theopen connection server 121 and theopen client 111 may utilize any instant message protocol. For example, theopen connection server 121 andopen client 111 may communicate using Gadu-Gadu, Cspace, IRC, Meca Network, MCNP, OSCAR, PSYC, TOC, TOC2, XMPP, SIP/SIMPLE, YMSG, DirectNet, Zephyr, Gale and/or Skype. Other protocols may also be used. - The
development environment 114 is the environment used to develop theclient 110. Various development environments are known in the art and may be used to program and code theclient 110. - The
server 120 includes an open connection server with anopen connection server 170 and apersistent data server 160. Other servers may be implemented with theserver 120. Within these twoservers persistent data server 160 includes an open client 113-A and aweb server 150. The open client 113-A is in communication with theopen connection server 121. Thepersistent data server 160 also includes adata access layer 161 in communication with adatabase 180. Thedata access layer 161 pulls files, updates files and creates files in thedatabase 180. Anapplication server 162 may also be included. Thepersistent data server 160 is developed within aprogram environment 163.open connection server 170 also includes an open client 113-B in communication with theopen connection server 121 as well as a data access layer 162-B and a program environment 163-B. -
FIG. 4B shows specificexemplary components 400 within aclient 110 andserver 120 according to one embodiment of the invention. In this embodiment, theopen connection server 121 is aJABBER server 121 and the open clients areJABBER clients HTTP client 112. The database is aMySQL database 180. Theapplication servers 162 are Java application servers and the program environment is a Java 1.5environment 163. The development environment is the .Net 2.0 environment. The web server is Java server pages (JSP) 150. Furthermore, the connection between theHTTP client 112 and theJSP 150 is an HTTP connection and the connection between theJABBER server 121 and theJABBER client 111 is an open connection. In one embodiment, this open connection streams XML. -
FIG. 5 shows aflowchart 500 describing a method of instantly displaying updated data at a client system in a network configuration according to one embodiment of the invention. The client establishes an open JABBER connection with aserver 505 and an HTTP connection with aserver 510. A data file is requested from the server through theHTTP connection 515. The data file is then sent to the client through theHTTP connection 520. The data file may include HTML and may be displayed to a user at the client through auser interface 525. For example, a user may request a web page from a server. The web page is retrieved from the server and then displayed on the screen of the computer used by the user. - A message from the JABBER server is then received by the client through the
JABBER connection 530. The message may instruct the client to refresh the data file because the data file has been updated. The data file is requested through theHTTP connection 535 whereupon the updated data file is transmitted from the server and received at theclient 540. The data file is then displayed again to the user through theuser interface 545. -
FIG. 6 shows anotherflowchart 600 describing a method of instantly displaying updated data at a client system in a network configuration according to one embodiment of the invention. This embodiment is similar to the embodiment discussed above in regard toFIG. 5 . The embodiment follows the embodiment discussed in regard toFIG. 5 until the data file is displayed atblock 525. A message may then be received from the server through theJABBER connection 550. In this example, the message is an addendum to the data file. The data file is updated using themessage 555. The appended data file is then displayed 560. -
FIG. 7 shows aflowchart 700 describing a method of instantly displaying updated data at a client system in a network configuration according to one embodiment of the invention. In this embodiment, a JABBER and an HTTP connection are established 505, 510 between a client and a server. A data file is requested from the server by the client through theHTTP connection 515. The data file is sent by the server and received at the client through theHTTP connection 520. The data file is then displayed through a user interface at theclient 525. The data file may include a markup language such as HTML, XHTML, XML or any other mark up language. The data file may be displayed in a file specific application, a specialized web browser and/or a standard web browser. The data file may include an instant message conversation. The data file may also include color schemes and/or preferences. - A message is received at the client from the user through the
user interface 565. The message may include text, data, media, pictures, images, widgets, movies, music, changes to the data file, a markup language, such as HTML, etc. A markup language version of the message is created 570 and the markup language version of the message is displayed with the data file through theuser interface 575. The markup version of the message is also sent to theserver 580. The server may forward the markup version of the message to other clients and/or save the markup version of the message within the data file. -
FIG. 8 shows aflowchart 800 describing a method of managing an instant messaging server according to one embodiment of the invention. A first data file is maintained on theserver 805 and may be accessible by members of a group. A connection is made from the server to a first client and to asecond client second clients 820. After the first data file is sent to the first and second clients, the connections may be closed. An open connection between the first client and the server and the second client and the server is made 825, 830. The first client sends a message to the server through the firstopen connection 840. The message is then forwarded to thesecond server 845. The first data file is appended with the message received from thefirst client 850 and the first data file as appended by the message from the first client is maintained 855 at the server. - The open connections between the first client and the server and the second client and the server may be established before or after the first data file is sent to the server. Other clients may request the first data file. The data file may be sent to other clients with the appended data from the message received from the first client. Other clients may also send messages to the server, have those messages forwarded to the other clients and have the first data file appended accordingly. Furthermore, multiple data files may be maintained at a server.
-
FIG. 9 shows anotherflowchart 900 describing a method of managing an instant messaging server according to one embodiment of the invention. In this embodiment, a first data file is maintained at theserver 805. Connections are made with more than oneclient 905. The first data file is sent to the more than one client through theconnections 910. A second connection is established between the more than one client and theserver 915. The second connection may be an open connection. A message is received at the server from one of the more than oneclient 920 and is forwarded to the other clients connected to theserver 845. The first data file is also appended 850 and saved at theserver 855. -
FIG. 10 shows aflowchart 1000 describing a method of managing a group instant messaging server according to one embodiment of the invention. A group list is maintained 1005. The group list may include information related to the group and/or the individual group members. The group list may include personal information, settings, preferences, IP addresses, aliases, passwords, encryption keys, etc. The group list may be saved in agroup list database 1006. - At least one data file, a first data file, is maintained 805 in a
data file database 1011. A connection is established 905 with each online group member, and the first data file is sent to eachonline group member 910. These connections may occur at different times and the first data file may be sent to each online group member at different times. Once the first data file has been sent and received, each connection between the server and the online group members may be closed. An open connection may be established with eachgroup member 915. A message is received from one group member through theopen connection 920. The message is then forwarded to each member in thegroup 845. The first data file is appended with the data in themessage 850 and stored in thedata file database 1011. The first data file is maintained 855 in thedata file database 1011. At some point a new member of the group comes online and/or signs in 930, whereupon the appended first data file is sent to the new member in the group 935. -
FIG. 11A shows amethod 1100 of determining whether a new user may participate in a group according to one embodiment of the invention. Users may gain access to groups in a variety of ways. One embodiment of the invention determines whether a user has the appropriate privileges to access group information. A group list is maintained 1005 in a group list database 1001. The group list includes whether the group is password protected, whether the group is public or private and/or whether group entry requires an invitation or not. A user first requests to participate in thegroup 1005. The system then determines whether the group is public 1110. If the group is public, then participation is allowed. Otherwise, the group is private and the system may determine whether the user is a member of thegroup 1115. Membership information may be included in the group list. If the user is a member, participation is allowed 1135. Members may be asked to provide a password or other authentication scheme. If the user is not a member of the private group, the user may be able to participate in the group by providing apassword 1120. If the password is correct, access to the group is allowed. The password may or may not provide membership to the group. In some embodiments, the password may be a one time use password or may limit participation. If a password is not provided, a user may gain access to the group by requesting group membership to thegroup owner 1125. Some groups may not allow group membership requests and participation would then be denied 1130. Otherwise, a participation request is sent to the group owner or group members that approve group membership requests 1125. -
FIG. 11B shows amethod 1150 of inviting a user to join a group according to one embodiment of the invention. The owner of the group or any authorized member may send an email message with amembership invitation 1152. The user receives the invitation inemail 1154 or in a group messaging application. The user may then decide whether to join the group or not 1156. If the user does not want to join the group he may simply ignore the email from the owner of the group and he is not entered into thegroup 1158. If the user received the invitation message in a group messaging application, he may be presented with options to join or not join. The user may then simply select his preference, for example, on a button. If the user chooses to join the group he may be directed to a web page or a card within the application may open where he can enter personal details or confirm his identity. If the user already has auser ID 1160 then the group membership database is updated 1164 and he is entered into the group. If the user does not have a user ID he may be directed to create one 1162, prior to having the group membership database updated 1164. -
FIG. 11C shoes amethod 1170 for dealing with requests to join a group according to one embodiment of the invention. The request may come fromblock 1125 inFIG. 11A . The owner receives a request from a user to join a group at 1172. The request may be received within a group application or may be received via email. The owner then decides whether or not to allow the user to join the group at 1174. If the owner so desires, membership may be rejected at 1176 or permitted at 1178. If membership is permitted 1178, then the membership database is updated to include thenew user 1180 and a message is sent to the user letting him know he are in the group at 1182. The user may also be required to create a user ID if he doesn't presently have one. -
FIG. 12A shows ascreenshot 1200 of various features of a group messaging application according to one embodiment of the invention. A graphical user interface is shown including atoolbar 1220, fouractive cards 1230, aninactive card 1240, amenu bar 1260, and aminitab listing bar 1250. A group may include any number of cards. Each card can be considered part of the group conversation. In general, users may create cards and add to content on existing cards. Specifically, a card may include IM functionality where users in a group may carry on a conversation. The messages may be displayed using a markup language such as HTML or XML. - The
toolbar 1220 presents a variety of different views for the user to select from.FIG. 12A shows the “SD Friends” window as the active viewable window. Other windows may be activated and viewed by simply selecting the tab representing the window. For example, the “Yale SOM” window may be activated by selecting the “Yale SOM”tab 1222. Various management tabs may also be present. As shown a “Welcome” tab is shown. Other tabs representing other windows such as settings, profiles, search, adding groups, deleting groups, etc may also be included in thetoolbar 1220. - Four
active cards 1230 are shown. Eachcard 1230 is part of the overall group conversation and may be started by any member in the group. Each card may include any format and present a variety of information. For example, a card may include group messages 1230A, 1220-C, embedded media 1230-B, and/or a group poll 1230-D. - Cards can be customized according to one embodiment of the invention. A user or group of users can create a card that has a unique or personalized look. This unique or personalized look can be specific to one or more groups, or can be specific to all of the groups to which a user belongs as a whole. For example, each user within a group may be assigned a card color; every time the user sends a message to a group, the card that contains his message may be that unique color. This way one can identify, which user sends which messages, among other things and other methods.
- A user can customize a card through settings. Customizations can include but are not limited to: selecting the card's color, background images, selecting the background color, size and font of the text on the card, selecting an image to appear on the card, adding animation, selecting media to appear on the card; applying widgets to the card; etc. A default customization may also be selected whereby new cards are opened with the default customization. Customizations may also be saved in a cascading style sheet (CSS) file. The CSS file may provide customization to s single card and may be used to apply the customization by default to all other cards. Also, the CSS file provides for a simpler HTML or XML code within each card by saving the card presentation characteristics in the CSS file while the content is maintained within a markup language file. The CSS file may be saved locally on the computer running the application and/or the CSS file may be maintained on a server.
- Also, a group of users may have their cards customized automatically according to one embodiment of the invention. For example, a company or organization can decide that it would like everyone in its company or organization to have its company or organization's logo on every card someone in its company or organization sends. The application can set a certain group of people to have card customizations like this or others as a group. Its cards may all look alike, or the cards can be similar in only one or more respects, such as all having the company logo on its cards, but having all other card customizations selectable by the user. In some cases the user can override the card customizations that have been set for them as a group; in some cases, the user cannot do so.
- Groups that are to share certain card customizations can be established based on any number of methods. These methods include but are not limited to: everyone with an email address from a certain domain can be set to share the same customizations. For example, everyone with an email address from a certain company can have that company's logo automatically display on their cards. Also, a pool of email addresses or usernames can be set up to share certain card customizations. Other ways of grouping users who are to share the same card customizations are also possible.
- According to one embodiment of the invention, cards can also be set to appear not as cards at all, but as messages contained within groups in purely a text (or any other) format, not entirely unlike the way that messages are exchanged within standard instant messengers. The messages would still be grouped within the groups to which they belong. Cards can also be dragged directly onto the desktop. When a card has been dragged onto the desktop, the card can be set to dynamically display the most current message in a group. The card can also be set to dynamically display the most recent message sent by a particular user. The card can also remain as a static message. The card can also be a blank card that can be ready to accept a new message to be sent to a group. The card can also be configured to display a certain message according to any other algorithm or set of preferences. Group tabs can also be customized by the group owner (or another entity) in any number of methods.
- In another embodiment, the
menu bar 1260 may also have a button that opens a new card in the application. The new card may, by default, be an instant messaging card. The card may also be styled according to user and/or group preferences. - Cards may contain messages. In some embodiments, there is one message per card. Each card may contain certain details that are relevant to the message and/or sender-specific to that card. Each card may contain details such as, but is not limited to, the sender's user name, the date and time the message was sent or received, the message (which can contain text, audio, video, files, links, or any other data), etc. Within the card links may be included that include, but are not limited to: Profile (allows the sender's profile to be viewed), Email (allows the sender to be directly emailed), IM (allows a traditional IM conversation with the sender to be initiated), Web Page (allows the sender's web page to be accessed), etc. The card may also indicate the online status of the sender. The status may vary depending on what the user is doing. In other embodiments, the status may include an editable message by the user. For example, when the user is online and able to participate, the status may indicate “online”. When the sender is online but has experienced a period of inactivity the status may be indicated as “away”. When the user is not logged into the system the status may be “offline”. Various other status indicators may be used.
- An
inactive card 1240 is also shown. Theinactive card 1240 allows a group member to create a new card. A card creation and/or customization window may open when the user selects the “create a new card” link with in theinactive card 1240. The new card is placed within the user interface. Once a new card is created, a new inactive card may be presented. In another embodiment of the invention, the new card is an IM card by default. Changes may be made to a default card, for example, by editing the mark up language. - Cards can be customized A user or group of users can create a card that has a unique or personalized look. This unique or personalized look can be specific to one or more groups, or can be specific to all of the groups to which a user belongs as a whole. By default, each user within a group is assigned a card color. This means that every time that user sends a message to a group, the card that contains his message may be that unique color. This way one can identify which user send which messages, among other things and other methods. The status may also be edited and/or customized by the user.
- A user can customize his card through settings. Customizations can include but are not limited to: selecting the card's color, selecting the color, size and font of the text on the card, selecting an image to appear on the card, etc. Also, a group of users can have his cards customized automatically. For example a company or organization can decide that he would like everyone in his company or organization to have his company or organization's logo on every card someone in its company or organization sends. The system can set a certain group of people to have card customizations like this or others as a group. Is cards can all look alike, or the card can be similar in only one or more respects, such as all having the company logo on his cards, but having all other card customizations selectable by the user. In some cases the user can override the card customizations that have been set for them as a group; in some cases, the user cannot do so.
- These groups that are to share certain card customizations can be established based on any number of methods. These methods include but are not limited to: Everyone with an email address from a certain domain can be set to share the same customizations. For example, everyone with an email address from a certain company can have that company's logo automatically displayed on his cards. Also a pool of email addresses or usernames can be set up to share certain card customizations. Other ways of grouping users who are to share the same card customizations are also possible.
- Cards may also include instant messaging 1230-A, 1230-C. Messages may be added to the list of messages by entering text into the text field. When a message has been added, each member of the group that is online displays an update to the card that includes the new message. Users may edit posted messages after the message has been posted in the card. Users may also include markup language in their messages. A URL may be entered into the text field and the Web page or files associated with the URL may be rendered and displayed within the card rather than displaying the URL link to the web page or files.
- Users may also edit and delete past messages within a card. The information presented in a IM card is dynamic and may be edited or deleted by the user. Those edits may be sent to the rest of the group. For example, a user may be writing an instant message and he sends the message. The user may have a typo in the message or regret that he sent the message. The user may then simply edit the message within the card and those edits may be sent to the group as well as to the data file on the server where the group data persists. The system may limit edits and deletes only to the last version or for a certain time period.
- The
menu bar 1260 may contain information with details about the group and buttons that enable key actions related to that group or other groups. Details include but are not limed to details such as the group's age, owner, the number of messages that have been sent to that group, the security level of that group, etc. Buttons enable users to create a group, leave or delete a group, invite a user to a group, remove a user from a group, search for groups, search for users, and do other things. - The Menu bar may also contain buttons. Many of these buttons may be specifically related to the visible group, while some of them may not. These buttons include but are not limited to: Edit Profile (users can create a profile of themselves that others can view), Settings (users can choose to personalize many settings and customizations), Create Group (users can create groups), Delete or Leave Group (users can delete and/or leave groups), Find Group (users can search for groups and request to be invited to groups), Add User (users can add or invite users to their groups), Remove User (users can remove users from their groups), Find Users (users can search for other users and then invite them to their groups if desired), etc. Another button may be included to open up card widgets that have been created by others in the group or by the user of the group.
- The
menu bar 1260 may also include the group name rather than the group number. When a user enters a group name in a search box within the application, the group name may be translated into a group number and the user may be directed to that group's profile. If the user is a member, he may be transferred automatically to the group and begin participation. A user may also search for members within the search bar. - The
minitab listing bar 1250 may include a number of minitabs. In this embodiment of the invention, three minitabs are shown: Members 1250-A, Conversations 1250-B, Files 1250-C. The members' minitab is open and shows the members in the current group. The members may be listed in any manner and may include a variety of member information. In this embodiment, the user name, a user image, the user status (typing, away, offline) and whether the user profile have been updated. The members' individual profiles may be viewed by selecting the user's name and/or image. -
FIG. 12B show the “Conversations” minitab 1250-B. In this minitab, the users' conversations are listed in reverse chronological order. The number of messages within each conversation is also shown. The conversations listed in the conversations minitab 1250-B relate to cards within a group window. -
FIG. 12C show the “Files” minitab 1250-C. Files are included that may be accessed by group members within the “Files” minitab 1250-C. A user may add files by simply dragging and dropping a file icon or by clicking on the upload button. Files may be downloaded and/or opened by selecting a download button. Files may also be saved to another location on the user's computer by dragging and dropping the file from the application. -
FIG. 12C also shows a text mark upwindow 1270 that may be used to markup text entered into a card and sent to the other group members. In this embodiment, text may be bolded, underlined, and/or italicized. The text size may be adjusted and characters may be added. Any variety of text markups may be included. The text markup window may be customized and shared to include other markup characters. -
FIG. 13 shows ascreenshot 1300 of a pop-out card 1305 of a group messaging application according to one embodiment of the invention. The size of a card may be increased and popped-out into a larger individual window by selecting the pop-out button 1310. The card may be returned to its normal size and position by selecting the pop-in button 1312. -
FIG. 14 shows ascreenshot 1400 of awelcome screen 1400 of a group messaging application according to one embodiment of the invention. The welcome screen is shown when the welcome tab is selected. Thewelcome screen 1400 includes a list ofgroups 1405 that the user participates in, a list offriends 1410, and a list oftags 1415 in a tag cloud. The list oftags 1415 may graphically reflect the relevance, importance or popularity of a topic. As shown, the larger the text of the topic, the more popular the term. A user interested in a topic associated with a tag may simply click on the tag and the related information may be opened in an existing card or in a new card. -
Ad space 1420 may also be added to thewelcome screen 1400 and/or on screens throughout the application. The ads may be topic-specific based on current information being displayed through the cards. Furthermore, as conversations progress, the ads may adapt to provide ads related to conversations. For example, if users are discussing cars through an instant messaging card ads may be displayed for cars and more specifically for cars or similar cars being discussed. As the conversation progresses, for example, the users may discuss football and the ads may change to ads for football, such as, for example, for football paraphernalia or tickets. -
FIG. 15 shows ascreenshot 1500 of a decision window of a group messaging application according to one embodiment of the invention. The decision screen is shown when the decisions tab is selected. The decision window lists decisions to be made by the user. Typically, decisions revolve around joining groups or contacts. As shown, one decision is whether to let Bill Baker join the user'scontacts 1510. Another example shown is that Tim has invited the user to join hisgroup Rock Stars 1520 and the user can decide what to do (reject or accept the invitations). And, Olga wants to know if she can join the user's Apple Lovers group. Here at the decision window, the user may accept or deny these requests. -
FIG. 16 shows ascreenshot 1600 of a card editor of a group messaging application according to one embodiment of the invention. A card editor allows users to create a customized card within a group. Cards may also be saved and used in a variety of groups. Custom cards may include HTML, XML or any other markup language to present information to a group. The card editor, in this embodiment, includes a name anddescription field 1610. The markup language code, in this case HTML, is editable infield 1620. An icon may be associated with the card infield 1630. Various options and settings may also used for a card editor as shown infield 1640. Cards may be made public or private, shared in a group or groups, and/or kept personal. Buttons for saving and/or sharing a card are also available. Finally, in the card editor shown, a preview of the customized card may be displayed. - In another embodiment of the invention, users may create card widgets. A card widget is a portable and specialized card that includes a chunk of code that can be opened by any user and may display the code. Card widgets may be coded in HTML as shown. The card widget may also use Flash or JavaScript. For example, a user may create a portable poll card widget for polling users. The card widget can then be saved and shared with other users. Other users may then use the card widget in various groups. Examples of card widgets may include, maps, weather pages, games, puzzles, layout, and/or other customizations. Card widgets are only bounded by the creativity of the users creating the card widgets. Also, card widgets may associated with a button on the
menu bar 1260, whereupon when the button is selected the widget either pops-up into a new window or is entered as a new card within the application. -
FIG. 17 shows ascreenshot 1700 of a popular groups window of a group messaging application according to one embodiment of the invention. A popular groups window may be selected by selecting a popular tab or by selecting a link. The popular groups window displays a list ofpopular groups 1710,users 1720 and/orcards 1730. Information related to the group, user or card may also be displayed. The group, user or card may be selected and viewed separately, if permitted depending on group membership and whether a group, card, or user information is public or private. -
FIGS. 18A-F showsscreenshots 1800 of a user profile in a group messaging application according to one embodiment of the invention. User profiles may present information about a user. A user may choose a public or private profile, or a semi-public profile.FIG. 18A shows ascreen 1810 explaining a user's profile is private and that it may be viewed if the user is part of a group with the viewer and/or in the viewer's list of groups. A semi-private profile displays some information publicly and withholds other information from viewers in the users groups or contacts. -
FIG. 18B-F shows an exemplary user profile pages. The user profile lists various details about a user, such as, for example, email address, photograph, address, telephone number, title, quotes, status, group and contact statistics, video, instant messaging user ids, personal web pages, favorite movies, favorite music, favorite television shows, favorite web pages, work position, employment, education, group membership and/or contacts. Of course, various other information may be presented in a user profile. Users may also modify and/or customize his user profile. -
FIG. 19 shows ascreenshot 1900 of a group profile in a group messaging application according to one embodiment of the invention. The group profile may describe the purpose and/or association of the group. The group profile may also list group details such as number of members, number of cards, number of messages, number files, date created, creator, public and private information, related groups, etc. -
FIG. 20 shows ascreenshot 2000 of group settings in a group messaging application according to one embodiment of the invention. Group setting such as group name, description, and whether the group is public or private may be changed. Such information may be changed only by the group owner or manager. A photograph or video may be included in the group settings. -
FIGS. 21A-C showsscreenshots 2100 of a user invitation window in a group messaging application according to one embodiment of the invention. As shown inFIG. 21A , people may be invited to join a group by sending a message. Email address orusernames 2110 may be entered for individuals to be invited to the group. Invited individuals may then receive a message within the application or via email inviting them to join the group.FIG. 21B shows a personal message that may be included in the group invitation message.FIG. 21C shows a list of usernames and email addresses that have been invited to join thegroup 2130. Usernames and ids that were not recognized may also be displayed 2140. -
FIG. 22 shows ascreenshot 2200 of group booting window in a group messaging application according to one embodiment of the invention. A group owner may boot others from the group. A group owner may simply select members of the group from alist 2210 and choose to have them removed (booted) from the group. Removed members may be re-invited. -
FIG. 23 shows ascreenshot 2300 of premium group settings in a messaging application according to one embodiment of the invention. Premium groups may also be established that require payment for entry into the group. Newspapers, movies, televisions shows, rock bands, celebrities, etc. may create premium groups that provide premium content and interaction for users that pay for group membership. Membership may be a one time fee or a recurring fee. Premium membership may include a one time event membership. - In another embodiment of the invention a client application may store financial or payment information that may be used to pay for application services, content, premium content, widgets, card widgets, group membership, premium groups, or other Internet based transactions. Users may participate in a marketplace where goods and services may be bought and sold. User's financial and/or transaction information may be maintained by the client application and provided to financial institutions for payment of a good and/or service. The financial and/or transaction information may be saved locally on the computer where the client application is running or on a server. For example, a user may enter their credit card number and other billing information. When the user wishes to make a purchase the client application provides the relevant payment information. The user may need to provide a password or other security code to release the payment information.
-
FIG. 24 shows ascreenshot 2400 of a group creation window in a group messaging application according to one embodiment of the invention. A user can create groups by clicking on a “Create Group” button. The user can create a group name, add a group description, and set any number of other attributes related to that group. When a user creates a group, that user is considered the “owner” of that group. Being the owner of a group enables a user to control many aspects of that group. This includes, but is not limited to: inviting users to that group, kicking off users of that group, sharing ownership with other users, un-sharing ownership with other users, transferring ownership to other users, restricting other's functional capabilities within that group, etc. If desired, a group can be set up such that everyone in the group is an owner of the group or more than one person is an owner of a group. -
FIGS. 25A-D show various features of the embodiments described inFIGS. 11A-11C according to one embodiment of the invention.FIG. 25A shows a screenshot of a card editor. The card editor provides a user a way of selecting pre-designed cards for use in their application and for sharing amongst their groups. These cards may include card widgets. Some cards may require a fee to use. A search function provides users a way to find various types of cards. -
FIG. 25B shows a screenshot of card management according to one embodiment of the invention. A user may view the active cards in their groups and where the cards are placed. Various settings may be included in this view. Cards may be on the toolbar. Cards may be shared or deleted. -
FIG. 25C shows a screenshot of how a user may edit the HTML code of a card according to one embodiment of the invention. A card name and description may be entered, and a card icon may be selected The user may also be able to chose whether the card is listed publicly or not. -
FIG. 25D shows a screenshot of how to send a card to groups or individuals according to one embodiment of the invention. - In another embodiment of the invention, group information persists at a server. Accordingly, a user may use a group messaging application at any computer by logging into their account. The application may query the group list database at the server and the groups within which the user is a member are opened within the application.
- In another embodiment of the invention, messages persist at a server. Accordingly, a user may review past messages within a group. Complete conversations and cards persist at the server and are sent to the IM application. Furthermore, IM application settings also persist at the server. When a user logs into an IM application, the IM application queries the server for updated conversations, messages, and other group data that persists at the server.
- Group membership and access to group messages and/or content persist on a server. Membership in a group is maintained beyond a single online session. Group messages and content also persist on a server.
- Messages are also persistent. Messages remain in place even if a user logs off the network and then logs back into the network. Logging in and out, moving from online to offline mode, or any other similar activity does not cause messages to go away. Messages can only go away when they are manually deleted or otherwise automatically deleted as with normal messaging handling rules of the system. However, logging in and out of the system, again, or moving from online to offline mode or vice-versa does not cause messages to go away. Messages can be stored on the hard drive and refreshed upon each time there is an active connection to the network. Similarly, messages can be stored chiefly on the server. Messages can be stored in other ways as well.
- Users can send messages to groups via standard email according to one embodiment of the invention. A user can send messages to a group by sending the message via email to an address such as, for example, owner.group@gogroups.com, group.owner@gogroups.com and/or group#@gogroups.com. Owner in this case is the screen name of the group owner, and group is either the group name or the group number that the owner owns. If these match a group that exists and people belong to, then the message may appear in the group as do other messages. There may be a notation on that message that it arrived by email. If the groups is a private group, that is a group that only allows messages from approved group members, the application may forward the message to the group only if the email address from the sender matches an email address in the group member list. Otherwise, the application may not send the message to the group. The message may appear in an instant messaging card, a group email message card, and/or sent to each group member's email address.
- Similarly, a user can setup their preferences to have messages delivered to particular groups forwarded to an email address based on certain definable events. When these messages are received by email, the user can reply to them and have their response delivered to the group to appear as a message. There may be a notation on that message that it arrived by email. The user can also have messages delivered to a portable device such as a mobile phone using SMS. Users may also respond and send messages to the group from a mobile device using SMS. A notation may also be included that the message arrived from a mobile device using SMS.
- Cellular phones and personal digital assistants (PDAs) can send messages to a group by sending a message to an appropriate number with or without a designated code to indicate to which group the message should be sent. Other designators may be used to specify the card within a group where the message should be displayed. Such messages may contain text, images, video, audio and/or any other data, including data describing certain attributes of the data, such as the location (in latitude/longitude or other form), time and/or other details of from where, when, how and by whom it was sent. Once received, the message may appear in the designated group as do other messages. There may be a notation on that message that it arrived by cellular phone or other wireless device.
- Similarly, a user can setup their preferences to have messages sent to particular groups forwarded to a wireless device. These messages can be sent via SMS, MMS, WAP, Internet, or any other transmission method. Messages may also be received from a wireless device with SMS, MMS, WAP, Internet, or any other transmission method.
- In another embodiment of the invention, users can click on a button within a group to initiate a voice and or video conversation that may be accessible and shared with everyone else belonging to that group. Voice and/or video shared with members of a group can be live or recorded and may persist on the server.
- Families can be established. Families are groups of users that want to be united in unique ways for any number of reasons. For example, a family can be established such that only users belonging to that family can communicate with each other. Families can then en masse be enabled to communicate with other families or with users not in families or users in the pubic family at once. Families can also be established so that certain families can share access to certain features or customizations.
- Specific details are given in the above description to provide a thorough understanding of the embodiments. However, it is understood that the embodiments may be practiced without these specific details. For example, circuits may be shown in block diagrams in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments.
- Implementation of the techniques, blocks, steps and means described above may be done in various ways. For example, these techniques, blocks, steps and means may be implemented in hardware, software, or a combination thereof. For a hardware implementation, the processing units may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, other electronic units designed to perform the functions described above and/or a combination thereof.
- Also, it is noted that the embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be rearranged. A process is terminated when its operations are completed, but could have additional steps not included in the figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination corresponds to a return of the function to the calling function or the main function.
- In yet another embodiment of the invention, voice over IP (VOIP) functionality may also be included. The JABBER server and JABBER clients may include VOIP functionality using the Jingle protocol over an open connection. Real time transport protocol (RTTP) may also be used. In another embodiment of the invention, a client application running on a computer with a webcam may send live video to a group through the JABBER client.
- As used throughout the terms markup language, HTML and XML include any information that may be included in a web page. For example, the terms may include data such as text, images, videos, audio, as well as markup language coding that describes the structure or presentation of the information in the data. Various types of markup languages may be used besides XML and HTML.
- Furthermore, embodiments may be implemented by hardware, software, scripting languages, firmware, middleware, microcode, hardware description languages and/or any combination thereof. When implemented in software, firmware, middleware, scripting language and/or microcode, the program code or code segments to perform the necessary tasks may be stored in a machine readable medium, such as a storage medium. A code segment or machine-executable instruction may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a script, a class, or any combination of instructions, data structures and/or program statements. A code segment may be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters and/or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, etc.
- For a firmware and/or software implementation, the methodologies may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. Any machine-readable medium tangibly embodying instructions may be used in implementing the methodologies described herein. For example, software codes may be stored in a memory. Memory may be implemented within the processor or external to the processor. As used herein the term “memory” refers to any type of long term, short term, volatile, nonvolatile, or other storage medium and is not to be limited to any particular type of memory or number of memories, or type of media upon which memory is stored.
- Moreover, as disclosed herein, the term “storage medium” may represent one or more devices for storing data, including read only memory (ROM), random access memory (RAM), magnetic RAM, core memory, magnetic disk storage mediums, optical storage mediums, flash memory devices and/or other machine readable mediums for storing information. The term “machine-readable medium” includes, but is not limited to portable or fixed storage devices, optical storage devices, wireless channels and/or various other mediums capable of storing, containing or carrying instruction(s) and/or data.
- While the principles of the disclosure have been described above in connection with specific apparatuses and methods, it is to be clearly understood that this description is made only by way of example and not as limitation on the scope of the disclosure.
Claims (30)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/759,984 US20130218995A1 (en) | 2006-03-03 | 2013-02-05 | Two-way instant message forwarding |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US77860906P | 2006-03-03 | 2006-03-03 | |
US11/681,507 US8145719B2 (en) | 2006-03-03 | 2007-03-02 | Method and system for messaging and communication based on groups |
US13/407,373 US8719425B2 (en) | 2006-03-03 | 2012-02-28 | Method and system for messaging and communication based on groups |
US13/759,984 US20130218995A1 (en) | 2006-03-03 | 2013-02-05 | Two-way instant message forwarding |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/407,373 Continuation US8719425B2 (en) | 2006-03-03 | 2012-02-28 | Method and system for messaging and communication based on groups |
Publications (1)
Publication Number | Publication Date |
---|---|
US20130218995A1 true US20130218995A1 (en) | 2013-08-22 |
Family
ID=38472636
Family Applications (12)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/681,507 Active 2029-09-18 US8145719B2 (en) | 2006-03-03 | 2007-03-02 | Method and system for messaging and communication based on groups |
US13/407,373 Active US8719425B2 (en) | 2006-03-03 | 2012-02-28 | Method and system for messaging and communication based on groups |
US13/720,926 Active US8566412B2 (en) | 2006-03-03 | 2012-12-19 | Group messaging |
US13/720,889 Active US8719359B2 (en) | 2006-03-03 | 2012-12-19 | Inline media |
US13/759,984 Abandoned US20130218995A1 (en) | 2006-03-03 | 2013-02-05 | Two-way instant message forwarding |
US14/154,522 Active US9807162B2 (en) | 2006-03-03 | 2014-01-14 | Method and system for communication between a server and a client device |
US14/196,989 Active US8886740B2 (en) | 2006-03-03 | 2014-03-04 | Card-based processing and updates |
US14/320,151 Abandoned US20140317493A1 (en) | 2006-03-03 | 2014-06-30 | Method and system for communication between a server and a client device |
US14/320,239 Abandoned US20140317179A1 (en) | 2006-03-03 | 2014-06-30 | Method and system for communication between a server and a client device |
US14/320,272 Expired - Fee Related US9288171B2 (en) | 2006-03-03 | 2014-06-30 | Sharing multimedia content |
US14/664,414 Active US9479580B2 (en) | 2006-03-03 | 2015-03-20 | Card-based processing and updates |
US14/923,368 Abandoned US20160088075A1 (en) | 2006-03-03 | 2015-10-26 | Inline media |
Family Applications Before (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/681,507 Active 2029-09-18 US8145719B2 (en) | 2006-03-03 | 2007-03-02 | Method and system for messaging and communication based on groups |
US13/407,373 Active US8719425B2 (en) | 2006-03-03 | 2012-02-28 | Method and system for messaging and communication based on groups |
US13/720,926 Active US8566412B2 (en) | 2006-03-03 | 2012-12-19 | Group messaging |
US13/720,889 Active US8719359B2 (en) | 2006-03-03 | 2012-12-19 | Inline media |
Family Applications After (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/154,522 Active US9807162B2 (en) | 2006-03-03 | 2014-01-14 | Method and system for communication between a server and a client device |
US14/196,989 Active US8886740B2 (en) | 2006-03-03 | 2014-03-04 | Card-based processing and updates |
US14/320,151 Abandoned US20140317493A1 (en) | 2006-03-03 | 2014-06-30 | Method and system for communication between a server and a client device |
US14/320,239 Abandoned US20140317179A1 (en) | 2006-03-03 | 2014-06-30 | Method and system for communication between a server and a client device |
US14/320,272 Expired - Fee Related US9288171B2 (en) | 2006-03-03 | 2014-06-30 | Sharing multimedia content |
US14/664,414 Active US9479580B2 (en) | 2006-03-03 | 2015-03-20 | Card-based processing and updates |
US14/923,368 Abandoned US20160088075A1 (en) | 2006-03-03 | 2015-10-26 | Inline media |
Country Status (1)
Country | Link |
---|---|
US (12) | US8145719B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080318610A1 (en) * | 2007-06-20 | 2008-12-25 | Qualcomm Incorporated | System and method for sharing media in a group communication among wireless communication devices |
US20100190478A1 (en) * | 2009-01-23 | 2010-07-29 | Qualcomm Incorporated | System and method for push-to-share file distribution with previews |
US20110201375A1 (en) * | 2010-02-18 | 2011-08-18 | Qualcomm Incorporated | System and method for selective media object removal in group communications among wireless communication devices |
US9674675B2 (en) | 2007-06-20 | 2017-06-06 | Qualcomm Incorporated | Synchronizing floor control and media sharing in a half-duplex PTT system |
Families Citing this family (147)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7249190B2 (en) * | 2001-02-09 | 2007-07-24 | Comlet Technologies, Llc. | Enhanced data exchange and presentation/communication system |
US7797431B2 (en) * | 2001-02-09 | 2010-09-14 | Willard Case | Enhanced data exchange and functionality control system and method |
US8370436B2 (en) * | 2003-10-23 | 2013-02-05 | Microsoft Corporation | System and method for extending a message schema to represent fax messages |
US7424513B2 (en) * | 2003-10-23 | 2008-09-09 | Microsoft Corporation | Decoupling an attachment from an electronic message that included the attachment |
US8150923B2 (en) * | 2003-10-23 | 2012-04-03 | Microsoft Corporation | Schema hierarchy for electronic messages |
US7533149B2 (en) * | 2004-04-30 | 2009-05-12 | Microsoft Corporation | Maintaining multiple versions of message bodies in a common database |
US20070218900A1 (en) * | 2006-03-17 | 2007-09-20 | Raj Vasant Abhyanker | Map based neighborhood search and community contribution |
US8874489B2 (en) * | 2006-03-17 | 2014-10-28 | Fatdoor, Inc. | Short-term residential spaces in a geo-spatial environment |
US9459622B2 (en) | 2007-01-12 | 2016-10-04 | Legalforce, Inc. | Driverless vehicle commerce network and community |
US8145719B2 (en) | 2006-03-03 | 2012-03-27 | Gogroups | Method and system for messaging and communication based on groups |
US9071367B2 (en) * | 2006-03-17 | 2015-06-30 | Fatdoor, Inc. | Emergency including crime broadcast in a neighborhood social network |
US8732091B1 (en) | 2006-03-17 | 2014-05-20 | Raj Abhyanker | Security in a geo-spatial environment |
US9002754B2 (en) | 2006-03-17 | 2015-04-07 | Fatdoor, Inc. | Campaign in a geo-spatial environment |
US9037516B2 (en) | 2006-03-17 | 2015-05-19 | Fatdoor, Inc. | Direct mailing in a geo-spatial environment |
US9373149B2 (en) | 2006-03-17 | 2016-06-21 | Fatdoor, Inc. | Autonomous neighborhood vehicle commerce network and community |
US9064288B2 (en) | 2006-03-17 | 2015-06-23 | Fatdoor, Inc. | Government structures and neighborhood leads in a geo-spatial environment |
US8965409B2 (en) | 2006-03-17 | 2015-02-24 | Fatdoor, Inc. | User-generated community publication in an online neighborhood social network |
US9070101B2 (en) | 2007-01-12 | 2015-06-30 | Fatdoor, Inc. | Peer-to-peer neighborhood delivery multi-copter and method |
US8738545B2 (en) * | 2006-11-22 | 2014-05-27 | Raj Abhyanker | Map based neighborhood search and community contribution |
US9098545B2 (en) | 2007-07-10 | 2015-08-04 | Raj Abhyanker | Hot news neighborhood banter in a geo-spatial social network |
KR20070096812A (en) * | 2006-03-27 | 2007-10-02 | 소니 가부시끼 가이샤 | Content list display method, content list display apparatus, content selecting and processing method, and content selecting and processing apparatus |
US9274807B2 (en) | 2006-04-20 | 2016-03-01 | Qualcomm Incorporated | Selective hibernation of activities in an electronic device |
US8863245B1 (en) | 2006-10-19 | 2014-10-14 | Fatdoor, Inc. | Nextdoor neighborhood social network method, apparatus, and system |
US8130917B2 (en) * | 2006-12-21 | 2012-03-06 | Verizon Data Services Llc | Method and apparatus for group messaging |
US8321537B1 (en) * | 2006-12-27 | 2012-11-27 | Google Inc. | Methods and system for sharing gadgets between users |
US20080222308A1 (en) * | 2007-03-07 | 2008-09-11 | Fatdoor, Inc. | Wiki groups of an online community |
US7941764B2 (en) | 2007-04-04 | 2011-05-10 | Abo Enterprises, Llc | System and method for assigning user preference settings for a category, and in particular a media category |
KR101415023B1 (en) * | 2007-04-26 | 2014-07-04 | 삼성전자주식회사 | Apparatus and method for providing information through network |
US8832220B2 (en) | 2007-05-29 | 2014-09-09 | Domingo Enterprises, Llc | System and method for increasing data availability on a mobile device based on operating mode |
US8331912B1 (en) * | 2007-07-20 | 2012-12-11 | Sprint Communications Company L.P. | Updateable messaging |
US8600343B2 (en) * | 2007-07-25 | 2013-12-03 | Yahoo! Inc. | Method and system for collecting and presenting historical communication data for a mobile device |
US20090059922A1 (en) * | 2007-08-30 | 2009-03-05 | Barry Appelman | Systems and Methods for Multicast Communication |
US20090119327A1 (en) * | 2007-11-07 | 2009-05-07 | Liang Holdings Llc | R-smart person-centric networking |
US20090119378A1 (en) * | 2007-11-07 | 2009-05-07 | Liang Holdings Llc | Controlling access to an r-smart network |
US20090138457A1 (en) * | 2007-11-26 | 2009-05-28 | Concert Technology Corporation | Grouping and weighting media categories with time periods |
US8224856B2 (en) | 2007-11-26 | 2012-07-17 | Abo Enterprises, Llc | Intelligent default weighting process for criteria utilized to score media content items |
US20090158146A1 (en) * | 2007-12-13 | 2009-06-18 | Concert Technology Corporation | Resizing tag representations or tag group representations to control relative importance |
US9584343B2 (en) | 2008-01-03 | 2017-02-28 | Yahoo! Inc. | Presentation of organized personal and public data using communication mediums |
US8127020B2 (en) * | 2008-08-28 | 2012-02-28 | Red Hat, Inc. | HTTP standby connection |
US12063577B2 (en) * | 2009-04-08 | 2024-08-13 | Huawei Technologies Co., Ltd. | System and method for managing items in a list shared by a group of mobile devices |
US9917702B2 (en) * | 2009-04-08 | 2018-03-13 | Blackberry Limited | System and method for managing items in a list shared by a group of mobile devices |
US8254890B2 (en) | 2009-04-08 | 2012-08-28 | Research In Motion Limited | System and method for managing items in a list shared by a group of mobile devices |
WO2010141216A2 (en) | 2009-06-02 | 2010-12-09 | Xobni Corporation | Self populating address book |
US8990323B2 (en) | 2009-07-08 | 2015-03-24 | Yahoo! Inc. | Defining a social network model implied by communications data |
US20110191717A1 (en) | 2010-02-03 | 2011-08-04 | Xobni Corporation | Presenting Suggestions for User Input Based on Client Device Characteristics |
US9721228B2 (en) | 2009-07-08 | 2017-08-01 | Yahoo! Inc. | Locally hosting a social network using social data stored on a user's computer |
US7930430B2 (en) | 2009-07-08 | 2011-04-19 | Xobni Corporation | Systems and methods to provide assistance during address input |
US9514435B2 (en) * | 2009-08-17 | 2016-12-06 | Accenture Global Services Limited | System for targeting specific users to discussion threads |
US9015225B2 (en) * | 2009-11-16 | 2015-04-21 | Echostar Technologies L.L.C. | Systems and methods for delivering messages over a network |
US9514466B2 (en) | 2009-11-16 | 2016-12-06 | Yahoo! Inc. | Collecting and presenting data including links from communications sent to or from a user |
US9760866B2 (en) | 2009-12-15 | 2017-09-12 | Yahoo Holdings, Inc. | Systems and methods to provide server side profile information |
US20120066303A1 (en) | 2010-03-03 | 2012-03-15 | Waldeck Technology, Llc | Synchronized group location updates |
US8972257B2 (en) | 2010-06-02 | 2015-03-03 | Yahoo! Inc. | Systems and methods to present voice message information to a user of a computing device |
US8620935B2 (en) | 2011-06-24 | 2013-12-31 | Yahoo! Inc. | Personalizing an online service based on data collected for a user of a computing device |
EP2437209A1 (en) * | 2010-09-30 | 2012-04-04 | Research In Motion Limited | System and method for managing electronic groups |
US9031957B2 (en) | 2010-10-08 | 2015-05-12 | Salesforce.Com, Inc. | Structured data in a business networking feed |
US20120324002A1 (en) * | 2011-02-03 | 2012-12-20 | Afolio Inc. | Media Sharing |
US9838351B2 (en) * | 2011-02-04 | 2017-12-05 | NextPlane, Inc. | Method and system for federation of proxy-based and proxy-free communications systems |
JP5659875B2 (en) * | 2011-03-07 | 2015-01-28 | ソニー株式会社 | Wireless communication apparatus, information processing apparatus, communication system, and wireless communication apparatus control method |
US8954591B2 (en) * | 2011-03-07 | 2015-02-10 | Cisco Technology, Inc. | Resource negotiation for cloud services using a messaging and presence protocol |
US9716619B2 (en) | 2011-03-31 | 2017-07-25 | NextPlane, Inc. | System and method of processing media traffic for a hub-based system federating disparate unified communications systems |
US9203799B2 (en) | 2011-03-31 | 2015-12-01 | NextPlane, Inc. | Method and system for advanced alias domain routing |
US8185448B1 (en) | 2011-06-10 | 2012-05-22 | Myslinski Lucas J | Fact checking method and system |
US9087048B2 (en) | 2011-06-10 | 2015-07-21 | Linkedin Corporation | Method of and system for validating a fact checking system |
US8768782B1 (en) | 2011-06-10 | 2014-07-01 | Linkedin Corporation | Optimized cloud computing fact checking |
US10078819B2 (en) | 2011-06-21 | 2018-09-18 | Oath Inc. | Presenting favorite contacts information to a user of a computing device |
US9747583B2 (en) | 2011-06-30 | 2017-08-29 | Yahoo Holdings, Inc. | Presenting entity profile information to a user of a computing device |
US8938501B2 (en) * | 2011-07-29 | 2015-01-20 | Parag Patel | Method and system of generating consumer data by facilitating the communication of feedback in a group setting |
US20150193792A1 (en) * | 2011-07-29 | 2015-07-09 | Malik Magdon-Ismail | Method and system of generating relevant marketing opportunities by facilitating the communication of feedback in small and large group settings |
US9740883B2 (en) | 2011-08-24 | 2017-08-22 | Location Labs, Inc. | System and method for enabling control of mobile device functional components |
US9407492B2 (en) * | 2011-08-24 | 2016-08-02 | Location Labs, Inc. | System and method for enabling control of mobile device functional components |
US9819753B2 (en) | 2011-12-02 | 2017-11-14 | Location Labs, Inc. | System and method for logging and reporting mobile device activity information |
US9210164B2 (en) * | 2012-01-08 | 2015-12-08 | International Business Machines Corporation | Confidential information access via social networking web site |
US8954571B2 (en) | 2012-01-13 | 2015-02-10 | Wavemarket, Inc. | System and method for implementing histogram controlled mobile devices |
US10977285B2 (en) | 2012-03-28 | 2021-04-13 | Verizon Media Inc. | Using observations of a person to determine if data corresponds to the person |
US9360982B2 (en) * | 2012-05-01 | 2016-06-07 | International Business Machines Corporation | Generating visualizations of facet values for facets defined over a collection of objects |
TWI684346B (en) * | 2012-05-08 | 2020-02-01 | 香港商阿里巴巴集團服務有限公司 | Group communication information sending method, client, and group server |
CN103391205B (en) * | 2012-05-08 | 2017-06-06 | 阿里巴巴集团控股有限公司 | The sending method of group communication information, client |
US9489531B2 (en) | 2012-05-13 | 2016-11-08 | Location Labs, Inc. | System and method for controlling access to electronic devices |
US20140006525A1 (en) * | 2012-06-29 | 2014-01-02 | Google Inc. | Sharing of messaging information |
US9176647B2 (en) * | 2012-07-11 | 2015-11-03 | Blackberry Limited | System and method for posting updates |
CN103546513B (en) * | 2012-07-13 | 2016-12-21 | 阿里巴巴集团控股有限公司 | The method and device of communication between a kind of customer terminal webpage |
US10013672B2 (en) | 2012-11-02 | 2018-07-03 | Oath Inc. | Address extraction from a communication |
US9600132B2 (en) * | 2012-11-27 | 2017-03-21 | Microsoft Technology Licensing, Llc | Using custom RTF commands to extend chat functionality |
US9591452B2 (en) | 2012-11-28 | 2017-03-07 | Location Labs, Inc. | System and method for enabling mobile device applications and functional components |
US10192200B2 (en) | 2012-12-04 | 2019-01-29 | Oath Inc. | Classifying a portion of user contact data into local contacts |
US9554190B2 (en) | 2012-12-20 | 2017-01-24 | Location Labs, Inc. | System and method for controlling communication device use |
CN103905216B (en) * | 2012-12-24 | 2017-02-08 | 广州华多网络科技有限公司 | Team-building method, client, server and system |
EP2750325A3 (en) * | 2012-12-28 | 2016-05-11 | Ricoh Company, Ltd. | Communication apparatus, communication system, communication method, and recording medium storing communication control program |
US20140223348A1 (en) * | 2013-01-10 | 2014-08-07 | Tyco Safety Products Canada, Ltd. | Security system and method with information display in flip window |
US8984078B2 (en) * | 2013-01-11 | 2015-03-17 | Google Inc. | Systems and methods for device-to-cloud message delivery |
US9197700B2 (en) * | 2013-01-18 | 2015-11-24 | Apple Inc. | Keychain syncing |
US10169806B1 (en) * | 2013-02-13 | 2019-01-01 | Amazon Technologies, Inc. | Shared aggregated e-commerce shopping cart |
US20140245179A1 (en) * | 2013-02-22 | 2014-08-28 | Nokia Corporation | Method and apparatus for determining group decision points during a group communication session |
US10554608B2 (en) * | 2013-02-28 | 2020-02-04 | Oath Inc. | Method and system for displaying email messages |
US9992021B1 (en) | 2013-03-14 | 2018-06-05 | GoTenna, Inc. | System and method for private and point-to-point communication between computing devices |
US10560324B2 (en) | 2013-03-15 | 2020-02-11 | Location Labs, Inc. | System and method for enabling user device control |
US20140282103A1 (en) * | 2013-03-16 | 2014-09-18 | Jerry Alan Crandall | Data sharing |
US9232016B2 (en) | 2013-03-26 | 2016-01-05 | International Business Machines Corporation | Undoing sent communications |
US9705840B2 (en) | 2013-06-03 | 2017-07-11 | NextPlane, Inc. | Automation platform for hub-based system federating disparate unified communications systems |
US9819636B2 (en) | 2013-06-10 | 2017-11-14 | NextPlane, Inc. | User directory system for a hub-based system federating disparate unified communications systems |
US10299066B2 (en) * | 2013-07-08 | 2019-05-21 | Capital One Services, Llc | Systems and methods for testing mobile application functions |
KR102057944B1 (en) * | 2013-09-17 | 2019-12-23 | 삼성전자주식회사 | Terminal device and sharing method thereof |
US9439367B2 (en) | 2014-02-07 | 2016-09-13 | Arthi Abhyanker | Network enabled gardening with a remotely controllable positioning extension |
GB201404615D0 (en) * | 2014-03-14 | 2014-04-30 | Microsoft Corp | Instant messaging |
GB201404617D0 (en) | 2014-03-14 | 2014-04-30 | Microsoft Corp | Instant messaging |
US9992292B2 (en) * | 2014-04-01 | 2018-06-05 | Noom, Inc. | Wellness support groups for mobile devices |
US9457901B2 (en) | 2014-04-22 | 2016-10-04 | Fatdoor, Inc. | Quadcopter with a printable payload extension system and method |
US9004396B1 (en) | 2014-04-24 | 2015-04-14 | Fatdoor, Inc. | Skyteboard quadcopter and method |
US9022324B1 (en) | 2014-05-05 | 2015-05-05 | Fatdoor, Inc. | Coordination of aerial vehicles through a central server |
US10148805B2 (en) | 2014-05-30 | 2018-12-04 | Location Labs, Inc. | System and method for mobile device control delegation |
US9971985B2 (en) | 2014-06-20 | 2018-05-15 | Raj Abhyanker | Train based community |
US9441981B2 (en) | 2014-06-20 | 2016-09-13 | Fatdoor, Inc. | Variable bus stops across a bus route in a regional transportation network |
US9661126B2 (en) | 2014-07-11 | 2017-05-23 | Location Labs, Inc. | Driving distraction reduction system and method |
US9451020B2 (en) | 2014-07-18 | 2016-09-20 | Legalforce, Inc. | Distributed communication of independent autonomous vehicles to provide redundancy and performance |
US9749458B2 (en) | 2014-08-11 | 2017-08-29 | Location Labs, Inc. | Driving without distraction support system |
US20160063650A1 (en) * | 2014-09-01 | 2016-03-03 | Microsoft Corporation | Augmenting corporate identity with data from public social networks |
WO2016088909A1 (en) * | 2014-12-02 | 2016-06-09 | 에스케이플래닛 주식회사 | Chatting method between messenger member and non-member, and system and device therefor |
US20160212090A1 (en) * | 2015-01-16 | 2016-07-21 | General Electric Company | System and method for tracking conversations |
JP6462386B2 (en) * | 2015-02-05 | 2019-01-30 | 任天堂株式会社 | Program, communication terminal and display method |
EP3292523A4 (en) * | 2015-05-06 | 2018-03-14 | Snap Inc. | Systems and methods for ephemeral group chat |
USD775637S1 (en) * | 2015-07-28 | 2017-01-03 | Microsoft Corporation | Display screen with animated graphical user interface |
US10158594B2 (en) | 2015-09-16 | 2018-12-18 | Microsoft Technology Licensing, Llc | Group headers for differentiating conversation scope and exposing interactive tools |
CN105528427B (en) | 2015-12-08 | 2019-05-10 | 腾讯科技(深圳)有限公司 | Sharing method and device in media file processing method, social application |
CN107113177B (en) * | 2015-12-10 | 2019-06-21 | 深圳市大疆创新科技有限公司 | Data connection, transmission, reception, the method and system of interaction and memory, aircraft |
US10088981B2 (en) * | 2015-12-29 | 2018-10-02 | Sap Se | User engagement application across user interface applications |
US20180018707A1 (en) * | 2016-07-14 | 2018-01-18 | Facebook, Inc. | Creating customized audiences based on messaging signals |
US11671383B2 (en) | 2016-09-26 | 2023-06-06 | Microsoft Technology Licensing, Llc | Natural language service interaction through an inbox |
US10645052B2 (en) | 2016-09-26 | 2020-05-05 | Microsoft Technology Licensing, Llc | Service integration into electronic mail inbox |
US10608967B2 (en) | 2017-01-10 | 2020-03-31 | International Business Machines Corporation | Ensuring that all users of a group message receive a response to the group message |
US10484317B2 (en) * | 2017-02-16 | 2019-11-19 | Facebook, Inc. | Techniques for generating messages to entities referenced in a messaging thread |
US10659928B2 (en) | 2017-02-16 | 2020-05-19 | Facebook, Inc. | Techniques for communicating entity references in a messaging thread |
US11009886B2 (en) | 2017-05-12 | 2021-05-18 | Autonomy Squared Llc | Robot pickup method |
US10924447B2 (en) | 2017-06-14 | 2021-02-16 | Medallia, Inc. | Method and system to converse across fragmented messaging services based on discussion topics |
US10834230B2 (en) * | 2017-08-25 | 2020-11-10 | International Business Machines Corporation | Server request management |
USD844657S1 (en) | 2017-11-27 | 2019-04-02 | Microsoft Corporation | Display screen with animated graphical user interface |
USD845989S1 (en) | 2017-11-27 | 2019-04-16 | Microsoft Corporation | Display screen with transitional graphical user interface |
USD845982S1 (en) | 2017-11-27 | 2019-04-16 | Microsoft Corporation | Display screen with graphical user interface |
USD846568S1 (en) | 2017-11-27 | 2019-04-23 | Microsoft Corporation | Display screen with graphical user interface |
KR102517427B1 (en) * | 2017-11-29 | 2023-04-03 | 스냅 인코포레이티드 | Graphic rendering for electronic messaging applications |
US10671248B2 (en) * | 2018-01-18 | 2020-06-02 | Salesforce.Com, Inc. | Live agent chat console |
CN109040331B (en) * | 2018-06-27 | 2020-07-10 | 腾讯科技(深圳)有限公司 | Electronic business card processing method and device, computing equipment and storage medium |
US10895964B1 (en) * | 2018-09-25 | 2021-01-19 | Snap Inc. | Interface to display shared user groups |
CN112242945B (en) * | 2019-07-19 | 2022-07-15 | 腾讯科技(深圳)有限公司 | Method, device and equipment for sending electronic interaction information and readable storage medium |
CN113595864B (en) * | 2020-04-30 | 2023-04-18 | 北京字节跳动网络技术有限公司 | Method, device, electronic equipment and storage medium for forwarding mails |
US11175799B1 (en) * | 2021-05-07 | 2021-11-16 | Soul Speak Llc | Inspirational quote generation, categorization, and presentation system |
CN116800704A (en) * | 2022-03-17 | 2023-09-22 | 腾讯科技(深圳)有限公司 | Instant messaging method, device and equipment based on group chat and readable storage medium |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020006803A1 (en) * | 2000-05-12 | 2002-01-17 | Dennis Mendiola | Method and system for inviting and creating accounts for prospective users of an instant messaging system |
US20030221020A1 (en) * | 2002-05-24 | 2003-11-27 | Petr Hejl | Unified group messaging |
US20030229722A1 (en) * | 2002-06-11 | 2003-12-11 | Siemens Information And Communication Networks, Inc. | Methods and apparatus for processing an instant message |
US20040215721A1 (en) * | 2003-03-24 | 2004-10-28 | Yahoo!, Inc. | System and method for instant messaging using an e-mail protocol |
US20050033513A1 (en) * | 2003-08-05 | 2005-02-10 | Gasbarro Henry Frank | Dismount tablet computer assembly for wireless communication applications |
US20050073999A1 (en) * | 2002-05-13 | 2005-04-07 | Bellsouth Intellectual Property Corporation | Delivery of profile-based third party content associated with an incoming communication |
US20060116139A1 (en) * | 2004-12-01 | 2006-06-01 | Barry Appelman | Automatically enabling the forwarding of instant messages |
US20080273535A1 (en) * | 2000-10-25 | 2008-11-06 | Verisign, Inc. | Method and apparatus for assigning a virtual address to and text-messaging to multiple text-capable destination entities |
US7590696B1 (en) * | 2002-11-18 | 2009-09-15 | Aol Llc | Enhanced buddy list using mobile device identifiers |
US8332475B2 (en) * | 2005-08-22 | 2012-12-11 | Triplay Communications Ltd. | Messaging system and method |
Family Cites Families (91)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH096582A (en) * | 1995-06-20 | 1997-01-10 | Fujitsu Ltd | Method and device for application grouping |
US6343313B1 (en) | 1996-03-26 | 2002-01-29 | Pixion, Inc. | Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability |
US5919247A (en) * | 1996-07-24 | 1999-07-06 | Marimba, Inc. | Method for the distribution of code and data updates |
US6006252A (en) | 1996-10-08 | 1999-12-21 | Wolfe; Mark A. | System and method for communicating information relating to a network resource |
US5889852A (en) * | 1997-02-10 | 1999-03-30 | Nokia Mobile Phones Limited | Photo screen scroll graphic user interface |
US6250930B1 (en) * | 1997-05-30 | 2001-06-26 | Picante Communications Corporation | Multi-functional communication and aggregation platform |
US6018774A (en) | 1997-07-03 | 2000-01-25 | Yobaby Productions, Llc | Method and system for creating messages including image information |
US6105029A (en) | 1997-09-17 | 2000-08-15 | International Business Machines Corporation | Retrieving network files through parallel channels |
US6094681A (en) * | 1998-03-31 | 2000-07-25 | Siemens Information And Communication Networks, Inc. | Apparatus and method for automated event notification |
US6094662A (en) | 1998-04-30 | 2000-07-25 | Xerox Corporation | Apparatus and method for loading and reloading HTML pages having cacheable and non-cacheable portions |
US6353926B1 (en) * | 1998-07-15 | 2002-03-05 | Microsoft Corporation | Software update notification |
US6701347B1 (en) | 1998-09-23 | 2004-03-02 | John W. L. Ogilvie | Method for including a self-removing code in a self-removing email message that contains an advertisement |
US6296489B1 (en) | 1999-06-23 | 2001-10-02 | Heuristix | System for sound file recording, analysis, and archiving via the internet for language training and other applications |
US20040193722A1 (en) * | 1999-08-30 | 2004-09-30 | Donovan Kevin Remington Joseph Bartholomew | Universal instant messaging system for the internet |
US6606525B1 (en) | 1999-12-27 | 2003-08-12 | Motorola, Inc. | System and method of merging static data in web pages |
AU2001249239A1 (en) | 2000-03-17 | 2001-10-03 | America Online, Inc. | Shared groups rostering system |
US20010027472A1 (en) | 2000-03-27 | 2001-10-04 | Feng Guan | Dynamic information sharing based on unique individual ID |
US7000230B1 (en) * | 2000-06-21 | 2006-02-14 | Microsoft Corporation | Network-based software extensions |
US7035912B2 (en) * | 2000-08-28 | 2006-04-25 | Abaco.P.R., Inc. | Method and apparatus allowing a limited client device to use the full resources of a networked server |
US6801224B1 (en) | 2000-09-14 | 2004-10-05 | International Business Machines Corporation | Method, system, and program for generating a graphical user interface window for an application program |
US20020194601A1 (en) | 2000-12-01 | 2002-12-19 | Perkes Ronald M. | System, method and computer program product for cross technology monitoring, profiling and predictive caching in a peer to peer broadcasting and viewing framework |
US20020138331A1 (en) | 2001-02-05 | 2002-09-26 | Hosea Devin F. | Method and system for web page personalization |
US6981223B2 (en) | 2001-03-19 | 2005-12-27 | Ecrio, Inc. | Method, apparatus and computer readable medium for multiple messaging session management with a graphical user interface |
US8990678B2 (en) | 2001-03-27 | 2015-03-24 | At&T Intellectual Property I, L.P. | Systems and methods for automatically providing alerts of web site content updates |
US20020156895A1 (en) | 2001-04-20 | 2002-10-24 | Brown Michael T. | System and method for sharing contact information |
US7054623B1 (en) * | 2001-05-08 | 2006-05-30 | Nokia Corporation | Grapevine driven updating technique |
US6849794B1 (en) | 2001-05-14 | 2005-02-01 | Ronnie C. Lau | Multiple channel system |
US7133900B1 (en) | 2001-07-06 | 2006-11-07 | Yahoo! Inc. | Sharing and implementing instant messaging environments |
US7188143B2 (en) | 2001-07-06 | 2007-03-06 | Yahoo! Inc. | Messenger-controlled applications in an instant messaging environment |
US20030011630A1 (en) | 2001-07-12 | 2003-01-16 | Knowlton Ruth Helene | Self instructional authoring software tool for the creation of a multi-media resume |
US7185057B2 (en) | 2001-07-26 | 2007-02-27 | International Business Machines Corporation | Individually specifying message output attributes in a messaging system |
US7200590B2 (en) | 2001-08-15 | 2007-04-03 | Yahoo! Inc. | Data sharing |
US20030043974A1 (en) | 2001-09-04 | 2003-03-06 | Emerson Harry E. | Stored profile system for storing and exchanging user communications profiles to integrate the internet with the public switched telephone network |
US20030055911A1 (en) * | 2001-09-17 | 2003-03-20 | Peterson Erik Lawrence | System and method for retrieving data over a network |
US6769002B2 (en) * | 2001-11-08 | 2004-07-27 | Jordan E. Ayan | System and methods for multilevel electronic mail communication programs |
US7328242B1 (en) * | 2001-11-09 | 2008-02-05 | Mccarthy Software, Inc. | Using multiple simultaneous threads of communication |
US20030126213A1 (en) * | 2002-01-02 | 2003-07-03 | International Business Machines Corporation | Establishing direct instant messaging communication between wireless devices |
US7062656B2 (en) * | 2002-02-22 | 2006-06-13 | International Busness Machines Corporation | Method for providing secure access to information held in a shared respiratory |
US7249182B1 (en) | 2002-02-27 | 2007-07-24 | Nokia Corporation | Personal profile sharing and management for short-range wireless terminals |
US6938042B2 (en) * | 2002-04-03 | 2005-08-30 | Laplink Software Inc. | Peer-to-peer file sharing |
US7421661B1 (en) | 2002-04-30 | 2008-09-02 | Aol Llc | Instant messaging interface having an informational tool tip |
US20030210265A1 (en) | 2002-05-10 | 2003-11-13 | Haimberg Nadav Y. | Interactive chat messaging |
US8078505B2 (en) * | 2002-06-10 | 2011-12-13 | Ebay Inc. | Method and system for automatically updating a seller application utilized in a network-based transaction facility |
GB2390915A (en) | 2002-07-15 | 2004-01-21 | Culturejam Ltd | System for delivery of targeted marketing information |
JP2004326378A (en) | 2003-04-24 | 2004-11-18 | Hitachi Ltd | Communication terminal and sending and receiving method |
US20050033811A1 (en) * | 2003-08-07 | 2005-02-10 | International Business Machines Corporation | Collaborative email |
CA2439582A1 (en) | 2003-09-05 | 2005-03-05 | Webtech Dezine Inc. | Method, system and apparatus for internet-based sales generation |
US7539722B2 (en) | 2003-10-24 | 2009-05-26 | Microsoft Corporation | Method and system for accessing a file |
US20050125534A1 (en) | 2003-12-05 | 2005-06-09 | Gatt Jeffrey D. | Group management system and method |
US7305672B2 (en) * | 2004-01-06 | 2007-12-04 | International Business Machines Corporation | Dynamic software update system, method and program product |
US8612359B2 (en) | 2004-01-29 | 2013-12-17 | Yahoo! Inc. | Method and system for sharing portal subscriber information in an online social network |
US7885901B2 (en) | 2004-01-29 | 2011-02-08 | Yahoo! Inc. | Method and system for seeding online social network contacts |
JP4203657B2 (en) | 2004-02-27 | 2009-01-07 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Collaboration server, collaboration system, method and program thereof |
US7260632B2 (en) * | 2004-03-23 | 2007-08-21 | Cisco Technology, Inc. | Presence-based management in a communication network |
US7363295B2 (en) | 2004-04-19 | 2008-04-22 | Yahoo! Inc. | Techniques for inline searching in an instant messenger environment |
US20060036647A1 (en) | 2004-06-07 | 2006-02-16 | Fichtner Henry A | System, method, and apparatus for exchanging information between employers, institutions, and employment seekers |
US7481539B2 (en) | 2004-06-07 | 2009-01-27 | Hernan F. Giraldo | Apparatus, system, and method for the desktop-based creation, management, and publication of enhanced audiovisual presentations |
WO2005122733A2 (en) | 2004-06-09 | 2005-12-29 | James Bergin | Systems and methods for management of contact information |
US8762540B2 (en) | 2004-09-01 | 2014-06-24 | Hewlett-Packard Development Company, L.P. | Managing multiple remote computing sessions displayed on a client device |
CN101015167B (en) * | 2004-09-08 | 2010-12-22 | 艾利森电话股份有限公司 | Method, network integral node and system for sharing ongoing data session |
JP2006101469A (en) * | 2004-09-29 | 2006-04-13 | Microsoft Corp | Terminal for exchanging electronic business card |
US7620996B2 (en) * | 2004-11-01 | 2009-11-17 | Microsoft Corporation | Dynamic summary module |
US7487214B2 (en) * | 2004-11-10 | 2009-02-03 | Microsoft Corporation | Integrated electronic mail and instant messaging application |
SE0403133D0 (en) * | 2004-12-22 | 2004-12-22 | Ericsson Telefon Ab L M | A method and arrangement for providing communication group information to a client |
US20060167937A1 (en) | 2005-01-18 | 2006-07-27 | Timothy Tierney | Internet based geographic information system |
US20060167849A1 (en) * | 2005-01-26 | 2006-07-27 | Echovox Sa | Method and system for mobile instant messaging using multiple protocols |
US20060190536A1 (en) | 2005-02-23 | 2006-08-24 | International Business Machines Corporation | Method, system and program product for building social networks |
US20060190557A1 (en) * | 2005-02-24 | 2006-08-24 | Ibm Corporation | Method and apparatus for forwarding user information among multiple information handling systems |
US8260852B1 (en) | 2005-03-02 | 2012-09-04 | Google Inc. | Methods and apparatuses for polls |
US7532890B2 (en) * | 2005-04-01 | 2009-05-12 | Rockliffe Systems | Content-based notification and user-transparent pull operation for simulated push transmission of wireless email |
US8266207B2 (en) * | 2005-04-13 | 2012-09-11 | Dugan Casey A | Systems and methods for online information exchange using server-mediated communication routing |
US7769819B2 (en) | 2005-04-20 | 2010-08-03 | Videoegg, Inc. | Video editing with timeline representations |
US20060248150A1 (en) * | 2005-04-29 | 2006-11-02 | International Business Machines Corporation | Methods and apparatus for managing and distinguishing instant messaging sessions and threads |
US7813485B2 (en) | 2005-05-26 | 2010-10-12 | International Business Machines Corporation | System and method for seamlessly integrating an interactive visual menu with an voice menu provided in an interactive voice response system |
US7974877B2 (en) * | 2005-06-23 | 2011-07-05 | Microsoft Corporation | Sending and receiving electronic business cards |
US20070019616A1 (en) * | 2005-06-29 | 2007-01-25 | Olli Rantapuska | Group formation using mobile computing devices |
US7715586B2 (en) | 2005-08-11 | 2010-05-11 | Qurio Holdings, Inc | Real-time recommendation of album templates for online photosharing |
US20070038636A1 (en) | 2005-08-12 | 2007-02-15 | Zanghi Benjamin L Jr | Video resume internet system |
US20070273583A1 (en) | 2005-09-17 | 2007-11-29 | Outland Research, Llc | Pointing interface for person-to-person interaction through ad-hoc networks |
US7814425B1 (en) | 2005-12-30 | 2010-10-12 | Aol Inc. | Thumbnail image previews |
US8949217B2 (en) | 2006-01-09 | 2015-02-03 | Google Inc. | Server bookmarks |
US8118678B2 (en) | 2006-01-20 | 2012-02-21 | Microsoft Corporation | Extended and editable gamer profile |
US8145719B2 (en) | 2006-03-03 | 2012-03-27 | Gogroups | Method and system for messaging and communication based on groups |
US20080005231A1 (en) | 2006-06-14 | 2008-01-03 | Digital Sports, Inc. | Method of providing a digital athlete profile |
US20080005125A1 (en) | 2006-07-03 | 2008-01-03 | Dewey Gaedeke | System for displaying user generated content in a web browser |
US20080040126A1 (en) | 2006-08-08 | 2008-02-14 | Microsoft Corporation | Social Categorization in Electronic Mail |
JP2008234093A (en) | 2007-03-19 | 2008-10-02 | Fujitsu Ltd | Profile information synchronization system, profile information synchronization method, mobile terminal, and profile information synchronization server |
US20090150499A1 (en) | 2007-12-10 | 2009-06-11 | International Business Machines Corporation | Method for sharing information over an instant messaging network |
US8250141B2 (en) | 2008-07-07 | 2012-08-21 | Cisco Technology, Inc. | Real-time event notification for collaborative computing sessions |
WO2010008542A2 (en) | 2008-07-15 | 2010-01-21 | Manoj Ramnani | Automatic profile update in a mobile device |
US8510381B1 (en) * | 2012-02-14 | 2013-08-13 | Google Inc. | Sharing electronic resources with users of nearby devices |
-
2007
- 2007-03-02 US US11/681,507 patent/US8145719B2/en active Active
-
2012
- 2012-02-28 US US13/407,373 patent/US8719425B2/en active Active
- 2012-12-19 US US13/720,926 patent/US8566412B2/en active Active
- 2012-12-19 US US13/720,889 patent/US8719359B2/en active Active
-
2013
- 2013-02-05 US US13/759,984 patent/US20130218995A1/en not_active Abandoned
-
2014
- 2014-01-14 US US14/154,522 patent/US9807162B2/en active Active
- 2014-03-04 US US14/196,989 patent/US8886740B2/en active Active
- 2014-06-30 US US14/320,151 patent/US20140317493A1/en not_active Abandoned
- 2014-06-30 US US14/320,239 patent/US20140317179A1/en not_active Abandoned
- 2014-06-30 US US14/320,272 patent/US9288171B2/en not_active Expired - Fee Related
-
2015
- 2015-03-20 US US14/664,414 patent/US9479580B2/en active Active
- 2015-10-26 US US14/923,368 patent/US20160088075A1/en not_active Abandoned
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020006803A1 (en) * | 2000-05-12 | 2002-01-17 | Dennis Mendiola | Method and system for inviting and creating accounts for prospective users of an instant messaging system |
US20080273535A1 (en) * | 2000-10-25 | 2008-11-06 | Verisign, Inc. | Method and apparatus for assigning a virtual address to and text-messaging to multiple text-capable destination entities |
US20050073999A1 (en) * | 2002-05-13 | 2005-04-07 | Bellsouth Intellectual Property Corporation | Delivery of profile-based third party content associated with an incoming communication |
US20030221020A1 (en) * | 2002-05-24 | 2003-11-27 | Petr Hejl | Unified group messaging |
US20030229722A1 (en) * | 2002-06-11 | 2003-12-11 | Siemens Information And Communication Networks, Inc. | Methods and apparatus for processing an instant message |
US7590696B1 (en) * | 2002-11-18 | 2009-09-15 | Aol Llc | Enhanced buddy list using mobile device identifiers |
US20040215721A1 (en) * | 2003-03-24 | 2004-10-28 | Yahoo!, Inc. | System and method for instant messaging using an e-mail protocol |
US20050033513A1 (en) * | 2003-08-05 | 2005-02-10 | Gasbarro Henry Frank | Dismount tablet computer assembly for wireless communication applications |
US20060116139A1 (en) * | 2004-12-01 | 2006-06-01 | Barry Appelman | Automatically enabling the forwarding of instant messages |
US8332475B2 (en) * | 2005-08-22 | 2012-12-11 | Triplay Communications Ltd. | Messaging system and method |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080318610A1 (en) * | 2007-06-20 | 2008-12-25 | Qualcomm Incorporated | System and method for sharing media in a group communication among wireless communication devices |
US20130040686A1 (en) * | 2007-06-20 | 2013-02-14 | Qualcomm Incorporated | System and method for sharing media in a group communication among wireless communication devices |
US8892148B2 (en) | 2007-06-20 | 2014-11-18 | Qualcomm Incorporated | System and method for sharing media in a group communication among wireless communication devices |
US8892147B2 (en) * | 2007-06-20 | 2014-11-18 | Qualcomm Incorporated | System and method for sharing media in a group communication among wireless communication devices |
US9210202B2 (en) | 2007-06-20 | 2015-12-08 | Qualcomm Incorporated | System and method for sharing media in a group communication among wireless communication devices |
US9674675B2 (en) | 2007-06-20 | 2017-06-06 | Qualcomm Incorporated | Synchronizing floor control and media sharing in a half-duplex PTT system |
US20100190478A1 (en) * | 2009-01-23 | 2010-07-29 | Qualcomm Incorporated | System and method for push-to-share file distribution with previews |
US20110201375A1 (en) * | 2010-02-18 | 2011-08-18 | Qualcomm Incorporated | System and method for selective media object removal in group communications among wireless communication devices |
US8892145B2 (en) | 2010-02-18 | 2014-11-18 | Qualcomm Incorporated | System and method for selective media object removal in group communications among wireless communication devices |
Also Published As
Publication number | Publication date |
---|---|
US8145719B2 (en) | 2012-03-27 |
US8719425B2 (en) | 2014-05-06 |
US8886740B2 (en) | 2014-11-11 |
US20120158880A1 (en) | 2012-06-21 |
US20070208802A1 (en) | 2007-09-06 |
US20140129658A1 (en) | 2014-05-08 |
US20150281146A1 (en) | 2015-10-01 |
US20160088075A1 (en) | 2016-03-24 |
US20140317493A1 (en) | 2014-10-23 |
US20140317179A1 (en) | 2014-10-23 |
US9288171B2 (en) | 2016-03-15 |
US20130110956A1 (en) | 2013-05-02 |
US8566412B2 (en) | 2013-10-22 |
US20140189494A1 (en) | 2014-07-03 |
US9479580B2 (en) | 2016-10-25 |
US9807162B2 (en) | 2017-10-31 |
US20140317212A1 (en) | 2014-10-23 |
US20130110954A1 (en) | 2013-05-02 |
US8719359B2 (en) | 2014-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9479580B2 (en) | Card-based processing and updates | |
US10164919B2 (en) | System and method for sharing content in an instant messaging application | |
US20130290449A1 (en) | Privacy-based social content broadcast systems and methods | |
US8533284B2 (en) | Sharing of media and other content through a communication channel | |
US9904469B2 (en) | Keyboard stream logging | |
US8166120B2 (en) | Content channels for electronic messaging | |
US20170344257A1 (en) | Enhanced Keyboard | |
US9699187B2 (en) | Social networking groups as a platform for third party integration | |
US8413055B2 (en) | Methods and systems for customizing and embedding widgets in instant messages | |
CA2696596C (en) | Instant messaging communication system and method | |
US20120110429A1 (en) | Platform enabling web-based interpersonal communication within shared digital media | |
US10768810B2 (en) | Enhanced keyboard including multiple application execution | |
US11962630B2 (en) | Methods and systems for multimedia communication while accessing network resources | |
WO2023134255A1 (en) | Information insertion method and apparatus, device, medium, and computer program product | |
US11483275B1 (en) | Challenge interface and access controls for social network challenges | |
Waghmare | Creating New Horizons of Digital Communication | |
CN118555261A (en) | Session invitation method, device, electronic equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: GOGROUPS, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BARMAN, TOURADJ;FOX, KRISTOFER;SIGNING DATES FROM 20130621 TO 20130624;REEL/FRAME:030680/0127 |
|
AS | Assignment |
Owner name: GOGROUPS, INC., CALIFORNIA Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 030680 FRAME 0127. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE TO BE GOGROUPS, INC;ASSIGNORS:BARMAN, TOURADJ;FOX, KRISTOFER;SIGNING DATES FROM 20130621 TO 20130624;REEL/FRAME:031474/0703 |
|
AS | Assignment |
Owner name: LINKEDIN CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GOGROUPS, INC.;REEL/FRAME:031814/0620 Effective date: 20131106 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LINKEDIN CORPORATION;REEL/FRAME:057363/0503 Effective date: 20171018 |