IP Library Granted Patent US 7,631,087
Granted Patent B2
US 7,631,087 · App. 11/619,914 · Granted Dec 8, 2009

System and method for maintaining presence and communicating over a computer network using the HTTP protocol

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 7,631,087
App. No.
11/619,914
Granted
Dec 8, 2009
Kind
B2
Abstract

A computer-implemented process facilitates communication with an entity over a network. A static HTTP URL is associated with the entity. Communications information reflecting the entity's current online presence including the entity's dynamic session information as determined using the HTTP protocol is linked with the URL. Communication with the entity is facilitated using the URL and the communications information. The forms of communication facilitated include type chat/instant messaging, voice communication over a computer network, video communication over a computer network, voice communication from a computer network to a telephone network and two-way text messaging to Internet enabled wireless devices.

Claims (72)

1. A method for providing online presence of a user using a client device on a computer network, the method comprising:

receiving an HTTP request initiated by the user using the client device at a chat server to establish an online presence for the user to communicate with other users;

establishing and maintaining a socket and an HTTP connection between the client device and the chat server through a firewall;

adding a socket file descriptor of the HTTP connection for the user using the client device to a table of the chat server;

maintaining online presence of the user by determining the status of the socket of the HTTP connection for the user; and wherein the socket being open serves to indicate the online presence of the user.

2. A method as in claim 1 further comprising closing said socket.

3. A method as in claim 2 further comprising ceasing said maintaining said record of said user's online presence as a result of said socket being closed.

4. A method as in claim 2 further comprising receiving a message from said client device logging off said network.

5. A method as in claim 1 further comprising determining that said socket has been closed.

6. A method as in claim 5 further comprising ceasing said maintaining said record of said user's online presence as a result of said socket being closed.

7. A method as in claim 1 further comprising failing to write to said socket.

8. A method as in claim 7 further comprising ceasing said maintaining said record of said user's online presence as a result of said socket being closed.

9. A method as in claim 1 further comprising determining said socket is closed by failing to write to said socket.

10. A method as in claim 1 further comprising determining whether said socket is open.

11. A method as in claim 1 further comprising determining whether said socket is open by sending at least one byte of data to the socket.

12. A method as in claim 1 further comprising sending at least one byte of data to the socket.

13. A method as in claim 12 wherein said sending at least one byte of data to the socket further comprises sending a first byte of data at a first time and a second byte of data at a second time.

14. A method as in claim 12 wherein said sending at least one byte of data to the socket further comprises sending sequential bytes of data.

15. A method as in claim 14 wherein said sending sequential bytes of data further comprises sending single bytes of data in series.

16. A method as in claim 15 wherein each of said sending single bytes of data in series occurs at an interval.

17. A method as in claim 16 wherein said interval is a predetermined interval.

18. A method as in claim 17 wherein said predetermined interval is four seconds.

19. A method as in claim 17 wherein said predetermined interval is one minute.

20. A method as in claim 17 wherein said predetermined interval is two minutes.

21. A method as in claim 1 further comprising initiating said HTTP connection by the user using the client device.

22. A method as in claim 1 further comprising receiving said HTTP request and establishing said HTTP connection.

23. A method as in claim 1 further comprising establishing a record of said user's online presence.

24. A method as in claim 1 wherein the HTTP request is a GET request.

25. A method as in of claim 1 wherein the HTTP request is a POST request.

26. A method as in claim 1 wherein said establishing and maintaining a socket and an HTTP connection further comprises establishing and maintaining a socket and an HTTP connection via an open socket in a non-blocking manner.

27. A method as in claim 26 further comprising adding said socket file descriptor to a socket database.

28. A method as in claim 1 wherein said establishing and maintaining a socket and an HTTP connection further comprises establishing and maintaining a socket and an HTTP connection via an open socket without creating a new thread.

29. A method as in claim 28 further comprising adding said socket file descriptor to a socket database.

30. A method as in claim 1 wherein said establishing and maintaining a socket and an HTTP connection further comprises establishing and maintaining a socket and an HTTP connection in a non-blocking manner without creating a new thread.

31. A method as in claim 1 further comprising having records of a plurality of users' online presence.

32. A method as in claim 1 further comprising adding said socket file descriptor to a socket database.

33. A method for providing online presence of a user using a client device on a computer network, the method comprising:

receiving an HTTP request initiated by the user using the client device at a chat server to establish an online presence for the user to communicate with other users;

establishing and maintaining a socket and an HTTP connection between the client device and the chat server through a firewall;

adding a socket file descriptor of the HTTP connection for the user using the client device to a table of the chat server;

maintaining online presence of the user by determining status of the socket of the HTTP connection for the user;

and wherein the socket being open serves to indicate the online presence of the user; and,

determining whether said socket is open by sending at least one byte of data to the socket, wherein said client device is behind a firewall or proxy server.

34. An article of manufacture for providing online presence of a user using a client device on a computer network, comprising computer-readable storage media holding computer-executable instructions stored in computer memory for a method comprising:

receiving an HTTP request initiated by the user using the client device at a chat server to establish an online presence for the user to communicate with other users;

establishing and maintaining a socket and an HTTP connection between the client device and the chat server through a firewall;

adding a socket file descriptor of the HTTP connection for the user using the client device to a table of the chat server;

maintaining online presence of the user by determining status of the socket of the HTTP connection for the user;

and wherein the socket being open serves to indicate the online presence of the user.

35. An article of manufacture as in claim 34 further comprising closing said socket.

36. An article of manufacture as in claim 34 further comprising sending at least one byte of data to the socket.

37. An article of manufacture as in claim 36 wherein said sending at least one byte of data to the socket further comprises sending at least a first byte of data followed by an interval and then a second byte of data.

38. An article of manufacture as in claim 34 further comprising initiating said HTTP connection.

39. An article of manufacture as in claim 34 further comprising establishing a record of said user's online presence.

40. An article of manufacture for providing online presence of a user using a client device on a computer network, comprising computer-readable storage media holding computer-executable instructions stored in computer memory for the method comprising:

receiving an HTTP request initiated by the user using the client device at a chat server to establish an online presence for the user to communicate with other users;

establishing and maintaining a socket and an HTTP connection between the client device and the chat server through a firewall;

adding a socket file descriptor of the HTTP connection for the user using the client device to a table of the chat server;

maintaining online presence of the user by determining status of the socket of the HTTP connection for the user;

and wherein the socket being open serves to indicate the online presence of the user; and,

determining whether said socket is open by sending at least one byte of data to the socket, wherein said client device is behind a firewall or proxy server.

41. A computer-implemented apparatus for providing online presence of a user using a client device on a computer network, comprising:

an HTTP request initiated by the user using the client device at a chat server to establish an online presence for the user to communicate with other users;

a socket and an HTTP connection between the client device and the chat server through a firewall;

a socket file descriptor of the HTTP connection for the user using the client device added to a table of the chat server;

wherein an online presence of the user is determined by the status of the socket of the HTTP connection for the user;

and the socket being open serves to indicate the online presence of the user.

42. A computer-implemented apparatus for providing online presence of a user using a client device on a computer network comprising:

an HTTP request initiated by the user using the client device at a chat server to establish an online presence for the user to communicate with other users;

a socket and an HTTP connection between the client device and the chat server through a firewall;

a socket file descriptor of the HTTP connection for the user using the client device added to a table of the chat server;

wherein the user's online presence is maintained by determining status of the socket of the HTTP connection for the user; wherein the socket being open serves to indicate the online presence of the user; and, determining whether said socket is open by sending at least one byte of data to the socket, wherein said client device is behind a firewall or proxy server.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CORPORATION
Reel/Frame 054486/0422 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054198/0029 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054244/0566 →
SECURITY INTEREST Recorded Jun 29, 2018
From: RPX CORPORATION
To: JEFFERIES FINANCE LLC
Reel/Frame 046486/0433 →
RELEASE (REEL 038041 / FRAME 0001) Recorded Jan 2, 2018
From: JPMORGAN CHASE BANK, N.A.
To: RPX CORPORATION; RPX CLEARINGHOUSE LLC
Reel/Frame 044970/0030 →
SECURITY AGREEMENT Recorded Mar 9, 2016
From: RPX CORPORATION; RPX CLEARINGHOUSE LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038041/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2014
From: PLANET EXCHANGE, LLC
To: RPX CORPORATION
Reel/Frame 033668/0883 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2014
From: EFTIS, PAUL S; PANASHCHENKO, OLEG
To: PLANETEXCHANGE.COM, LLC
Reel/Frame 033080/0768 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2012
From: PLANETEXCHANGE.COM, INC.
To: PLANETEXCHANGE, LLC
Reel/Frame 029522/0256 →