IP Library Granted Patent US 10,554,594
Granted Patent B2
US 10,554,594 · App. 13/738,785 · Granted Feb 4, 2020

Method and system for automatic switching between chat windows

Inventor: Raja Rao D V (San Mateo, CA)
Assignee: VMware, Inc.
H04L51/046G06F3/0481
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,554,594
App. No.
13/738,785
Granted
Feb 4, 2020
Kind
B2
Abstract

The disclosure herein describes a chat system for intelligent automatic switching between multiple chat windows. During operation, the system monitors activities occurring within the multiple chat windows and determines whether a window-switching operation is needed based on the monitored activities. In response to determining that the window-switching operation is needed, the system automatically performs the window-switching operation without the need for a user of the chat application to perform the window-switching operation manually.

Claims (72)

1. A computer-implemented method for intelligent automatic switching between multiple chat windows in an online chat application, comprising:

monitoring, by a computer, activities occurring within the multiple chat windows wherein each of the multiple chat windows are distinct;

determining whether a window-switching operation is needed based on the monitored activities including determining the window-switching operation is needed based on an elapsed time since activity has respectively occurred within each of the multiple chat windows; and

in response to determining that the window-switching operation is needed, performing the window-switching operation from a first window without the need for a user of the chat application to perform the window-switching operation manually;

wherein performing the window-switching operation comprises:

determining a switching sequence for two or more windows of the multiple chat windows, the switching sequence defining a queue having an ordering for separately and sequentially bringing a plurality of the two or more windows into focus; and

switching focus to a next window in the queue; and

wherein determining the switching sequence comprises:

determining an order for switching between the first window and the two or more windows in sequence including switching focus from the first window to a second window based on a first determining that the window-switching operation is needed and a subsequent switching of focus from the second window to a third window in the sequence based on a second determining that the window-switching operation is needed, wherein the order for switching between the first window and the two or more windows in sequence is calculated based on the monitored activities and a plurality of user defined switching rules, wherein the user defined switching rules include both time-based rules and priority-based rules; and

placing each of the multiple chat windows in the queue according to the calculated order.

2. The method of claim 1 , wherein the activities include at least one of:

a message being received;

a message being typed; and

a message being sent.

3. The method of claim 1 , further comprising identifying a chat window associated with the window-switching operation, wherein the window-switching operation comprises activating the identified chat window.

4. The method of claim 3 , wherein identifying the chat window comprises determining priority levels of contacts associated with the chat windows.

5. The method of claim 3 , wherein identifying the chat window involves determining a time when a message is received in the chat window.

6. The method of claim 1 , wherein determining whether a window-switching operation is needed involves determining whether an idle time associated with a currently active window exceeds a predetermined value.

7. The method of claim 1 , further comprising receiving feedback from the user for the automatically performed switching operation.

8. The method of claim 1 , further comprising:

monitoring chat content within the chat windows;

determining whether a message is typed into a wrong chat window based on the monitored chat content; and

notifying the user in response to determining that the message is typed into the wrong chat window.

9. The method of claim 1 , further comprising:

receiving user input manually switching between the multiple windows in a forward or a reverse direction according to the calculated order.

10. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for intelligent automatic switching between multiple chat windows in an online chat application, the method comprising:

monitoring activities occurring within the multiple chat windows wherein each of the multiple chat windows are distinct;

determining whether a window-switching operation is needed based on the monitored activities including determining the window-switching operation is needed based on an elapsed time since activity has respectively occurred within each of the multiple chat windows; and

in response to determining that the window-switching operation is needed, performing the window-switching operation from a first window without the need for a user of the chat application to perform the window-switching operation manually;

wherein performing the window-switching operation comprises:

determining a switching sequence for two or more windows of the multiple chat windows, the switching sequence defining a queue having an ordering for separately and sequentially bringing a plurality of the two or more windows into focus; and

switching focus to a next window in the queue; and

wherein determining the switching sequence comprises:

determining an order for switching between the first window and the two or more windows in sequence including switching focus from the first window to a second window based on a first determining that the window-switching operation is needed and a subsequent switching of focus from the second window to a third window in the sequence based on a second determining that the window-switching operation is needed, wherein the order for switching between the first window and the two or more windows in sequence is calculated based on the monitored activities and a plurality of user defined switching rules, wherein the user defined switching rules include both time-based rules and priority-based rules; and

placing each of the multiple chat windows in the queue according to the calculated order.

11. The storage medium of claim 10 , wherein the activities include at least one of:

a message being received;

a message being typed; and

a message being sent.

12. The storage medium of claim 10 , wherein the message further comprises identifying a chat window associated with the window-switching operation, wherein the window-switching operation comprises activating the identified chat window.

13. The storage medium of claim 12 , wherein identifying the chat window involves determining priority levels of contacts associated with the chat windows.

14. The storage medium of claim 12 , wherein identifying the chat window involves determining a time when a message is received in the chat window.

15. The storage medium of claim 10 , wherein determining whether a window-switching operation is needed involves determining whether an idle time associated with a currently active window exceeds a predetermined value.

16. The storage medium of claim 10 , wherein the method further comprises receiving feedback from the user for the automatically performed switching operation.

17. The storage medium of claim 10 , wherein the method further comprises:

monitoring chat content within the chat windows;

determining whether a message is typed into a wrong chat window based on the monitored chat content; and

notifying the user in response to determining that the message is typed into the wrong chat window.

18. A computer system for intelligent automatic switching between multiple chat windows in an online chat application, comprising:

one or more computers each comprising a processor and a memory coupled to the processor, wherein the one or more computers are operable to perform operations comprising:

monitoring activities occurring within the multiple chat windows wherein each of the multiple chat windows are distinct;

determining whether a window-switching operation is needed based on the monitored activities including determining the window-switching operation is needed based on an elapsed time since activity has respectively occurred within each of the multiple chat windows; and

in response to determining that the window-switching operation is needed, perform the window-switching operation from a first window without the need for a user of the chat application to perform the window-switching operation manually;

wherein performing the window-switching operation comprises:

determining a switching sequence for two or more windows of the multiple chat windows, the switching sequence defining a queue having an ordering for separately and sequentially bringing a plurality of the two or more windows into focus; and

switching focus to a next window in the queue; and

wherein determining the switching sequence comprises:

determining an order for switching between the first window and the two or more windows in sequence including switching focus from the first window to a second window based on a first determining that the window-switching operation is needed and a subsequent switching of focus from the second window to a third window in the sequence based on a second determining that the window-switching operation is needed, wherein the order for switching between the first window and the two or more windows in sequence is calculated based on the monitored activities and a plurality of user defined switching rules, wherein the user defined switching rules include both time-based rules and priority-based rules; and

placing each of the multiple chat windows in the queue according to the calculated order.

19. The computer system of claim 18 , wherein the activities include at least one of:

a message being received;

a message being typed; and

a message being sent.

20. The computer system of claim 18 , further operable to perform operations comprising identifying a chat window associated with the window-switching operation, and wherein the window-switching operation comprises activating the identified chat window.

21. The computer system of claim 20 , wherein identifying the chat window comprises determining priority levels of contacts associated with the chat windows.

22. The computer system of claim 20 , wherein identifying the chat window, includes determining a time when a message is received in the chat window.

23. The computer system of claim 18 , wherein determining whether a window-switching operation is needed includes determining whether an idle time associated with a currently active window exceeds a predetermined value.

24. The computer system of claim 18 , wherein the one or more computers are further operable to receive feedback from the user for the automatically performed switching operation.

25. The computer system of claim 18 , wherein the one or more computers are further operable to perform operations comprising:

monitoring chat content within the chat windows;

detecting an error by determining that a message is typed into a wrong chat window based on the monitored chat content; and

notifying the user of the detected error.

Assignments (4)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: VMWARE LLC
To: OMNISSA, LLC
Reel/Frame 068327/0365 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2013
From: DV, RAJA RAO
To: VMWARE, INC.
Reel/Frame 029899/0359 →