IP Library Granted Patent US 8,291,032
Granted Patent B2
US 8,291,032 · App. 13/365,690 · Granted Oct 16, 2012

Email system

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 8,291,032
App. No.
13/365,690
Granted
Oct 16, 2012
Kind
B2
Abstract

A system and method are disclosed for providing interaction with mail data on a server. Providing interaction with mail data on a server comprises receiving mail information from the server; updating data structures in a client using the mail information received; operating on the mail information at the client and displaying operation results on the client; sending operation information to the server so that the same operation may be executed on the server.

Claims (74)

1. A method, comprising:

at a client device, receiving user input that performs a change that requires an operation to be performed on a server apparatus;

in response to the user input, perform the following steps on the client device:

generating a request for the operation to be performed on the server apparatus;

generating a data structure that includes a call back function that is to be invoked in response to receiving from the server apparatus a response to the request; and

sending the request to the server apparatus;

wherein the client device does not block while waiting for the response from the server apparatus to the request, thereby allowing one or more operations to be performed at the client device after the client device sends the request and before the client device receives the response to the request;

receiving from the server apparatus the response to the request; and

in response to receiving the response, invoking the call back function contained in the data structure that was generated upon the user input.

2. A method as recited in claim 1 , wherein the operation is to be performed on server data on the server apparatus, and wherein the user input performs the change on a client copy of the server data before the request is generated.

3. A method as recited in claim 2 , wherein the client device operates on the server data via a browser.

4. A method as recited in claim 2 , wherein the client device operates on the server data using a programming language that allows for client side modification of server data received.

5. A method as recited in claim 2 , wherein the client device operates on the server data using Dynamic Hypertext Markup Language (DHTML).

6. A method as recited in claim 2 , wherein the server data is in Extensible Markup Language (XML) format.

7. A method as recited in claim 2 , wherein the server data is in Extensible Markup Language (XML) format and is encapsulated using simple object access protocol (SOAP).

8. A client device comprising one or more processors, the client device being configured to:

receive user input that performs a change that requires an operation to be performed on a server apparatus;

respond to the user input by:

generating a request for the operation to be performed on the server apparatus;

generating a data structure that includes a call back function that is to be invoked in response to receiving from the server apparatus a response to the request; and

sending the request to the server apparatus;

wherein the client device does not block while waiting for a response from the server apparatus to the request, thereby allowing one or more operations to be performed at the client device after the client device sends the request and before the client receives the response to the request; and

respond to receiving from the server apparatus the response to the request by invoking the call back function contained in the data structure that was generated upon the user input.

9. A client device as recited in claim 8 , wherein the operation is to be performed on server data on the server apparatus, and wherein the user input performs the change on a client copy of the server data before the request is generated.

10. A client device as recited in claim 9 , wherein the client device operates on the server data via a browser.

11. A client device as recited in claim 9 , wherein the client device operates on the server data using a programming language that allows for client side modification of server data received.

12. A non-transitory computer readable medium comprising computer instructions for:

at a client device, receiving user input that performs a change that requires an operation to be performed on a server apparatus;

in response to the user input, perform the following steps on the client device:

generating a request for the operation to be performed on the server apparatus;

generating a data structure that includes a call back function that is to be invoked in response to receiving from the server apparatus a response to the request; and

sending the request to the server apparatus;

wherein the client device does not block while waiting for the response from the server apparatus to the request, thereby allowing one or more operations to be performed at the client device after the client device sends the request and before the client device receives the response to the request;

receiving from the server apparatus the response to the request; and

in response to receiving the response, invoking the call back function contained in the data structure that was generated upon the user input.

13. A non-transitory computer readable medium as recited in claim 12 , wherein the operation is to be performed on server data on the server apparatus, and wherein the user input performs the change on a client copy of the server data before the request is generated.

14. A non-transitory computer readable medium as recited in claim 13 , wherein the client device operates on the server data via a browser.

15. A non-transitory computer readable medium as recited in claim 13 , wherein the client device operates on the server data using a programming language that allows for client side modification of server data received.

16. A non-transitory computer readable medium as recited in claim 13 , wherein the server data is in Extensible Markup Language (XML) format.

17. A method, comprising:

at a server apparatus, receiving from a client device a request that was sent by the client device in response to the client device receiving user input that performs a change,

wherein the request is for an operation to be performed on the server apparatus while the client device waits, without blocking, for a response from the server apparatus to the request;

at the server apparatus, performing the operation; and

at the server apparatus, sending the response to the request to the client device after the operation is performed by the server apparatus, wherein the response causes invoking, by the client device, a call back function contained in a data structure that was generated by the client device upon the user input.

18. A method as recited in claim 17 , wherein the request is based on a programming language that allows for client side modification of server data received.

19. A method as recited in claim 17 , wherein the operation is to be performed on server data on the server apparatus, and wherein the operation is required by the change on a client copy of the server data.

20. A method as recited in claim 19 , wherein the server data is in Extensible Markup Language (XML) format.

21. A method as recited in claim 19 , wherein the server data is in Extensible Markup Language (XML) format and is encapsulated using simple object access protocol (SOAP).

22. A server apparatus comprising one or more processors, the server being configured to:

receive from a client device a request that was sent by the client device in response to the client device receiving user input that performs a change,

wherein the request is for an operation to be performed on the server apparatus while the client device waits, without blocking, for a response from the server apparatus to the request;

perform the operation; and

send the response to the request to the client device after the operation is performed by the server apparatus, wherein the response causes invoking, by the client device, a call back function contained in a data structure that was generated by the client device upon the user input.

23. A non-transitory computer readable medium comprising computer instructions for:

at a server apparatus, receiving from a client device a request that was sent by the client device in response to the client device receiving user input that performs a change,

wherein the request is for an operation to be performed on the server apparatus while the client device waits, without blocking, for a response from the server apparatus to the request;

at the server apparatus, performing the operation; and

at the server apparatus, sending the response to the request to the client device after the operation is performed by the server apparatus, wherein the response causes invoking, by the client device, a call back function contained in a data structure that was generated by the client device upon the user input.

24. A non-transitory computer readable medium as recited in claim 23 , wherein the request is based on a programming language that allows for client side modification of server data received.

25. A non-transitory computer readable medium as recited in claim 23 , wherein the operation is to be performed on server data on the server apparatus, and wherein the operation is required by the change on a client copy of the server data.

26. A non-transitory computer readable medium as recited in claim 25 , wherein the server data is in Extensible Markup Language (XML) format.

27. A non-transitory computer readable medium as recited in claim 25 , wherein the server data is in Extensible Markup Language (XML) format and is encapsulated using simple object access protocol (SOAP).

28. A method, comprising:

transmitting computer instructions to a client device;

wherein the computer instructions are received and executed by the client device for:

at the client device, receiving user input that performs a change that requires an operation to be performed on the server apparatus;

in response to the user input, perform the following steps on the client device:

generating a request for the operation to be performed on the server apparatus;

generating a data structure that includes a call back function that is to be invoked in response to receiving from the server apparatus a response to the request; and

sending the request to the server apparatus;

wherein the client device does not block while waiting for a response from the server apparatus to the request, thereby allowing one or more operations to be performed at the client device after the client device sends the request and before the client device receives the response to the request;

receiving from the server apparatus the response to the request; and

in response to receiving the response, invoking the call back function contained in the data structure that was generated upon the user input,

wherein the method is performed by one or more computing devices.

Assignments (5)
PATENT SECURITY AGREEMENT (FIRST LIEN) Recorded Sep 29, 2022
From: YAHOO ASSETS LLC
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 061571/0773 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2021
From: YAHOO AD TECH LLC (FORMERLY VERIZON MEDIA INC.)
To: YAHOO ASSETS LLC
Reel/Frame 058982/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2020
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 054258/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2018
From: YAHOO HOLDINGS, INC.
To: OATH INC.
Reel/Frame 045240/0310 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2017
From: YAHOO! INC.
To: YAHOO HOLDINGS, INC.
Reel/Frame 042963/0211 →