IP Library Granted Patent US 10,601,947
Granted Patent B2
US 10,601,947 · App. 16/238,183 · Granted Mar 24, 2020

Application service delivery through an application service avatar

Inventors: Philip Lewis Bohannon (Cupertino, CA); Viswanath Poosala (Menlo Park, CA)
Assignee: Facebook, Inc.
H04L67/2861H04L67/289H04L67/306
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,601,947
App. No.
16/238,183
Granted
Mar 24, 2020
Kind
B2
Abstract

Some embodiments include a method of operating an avatar server. The method can include implementing an application service avatar in an avatar server that has at least an intermittent network access to an application service server for providing an application service to client applications. The avatar server can establish a service group by maintaining profiles of one or more end-user devices connected to the avatar server to access the application service. The avatar server can provide a localized application service by emulating at least a subset of functionalities provided by the application service to the end-user devices, for example, by locally processing, at least partially, a service request from at least one of the end-user devices at the avatar server. The avatar server can asynchronously communicate with the application service server to complete the service request.

Claims (58)

1. A method, comprising:

implementing an application service avatar at an avatar server that has at least an intermittent network access via a backhaul network channel to an application service server for providing an application service to client applications;

establishing a service group by maintaining a list of one or more end-user devices connected to the avatar server to access the application service;

providing, to the end-user devices, a localized application service via the avatar server by emulating at least a subset of functionalities provided by the application service, wherein said providing the localized application service includes:

locally processing, at least partially, a service request from at least one of the end-user devices at the avatar server;

receiving, from at least a first end-user device in the service group, a content publishing request including publishable content to be published to a sharable public domain; and

in response to determining that the backhaul network channel is unavailable or that the application service server is unreachable, locally, at the avatar server, pre-publishing the publishable content within the service group by making the publishable content available to the one or more end-user devices in the service group prior to sending the publishable content to the application service server; and

when the backhaul network channel is available, asynchronously communicating with the application service server to send the publishable content to the application service server.

2. The method of claim 1 , wherein providing the localized application service further comprises:

receiving, from at least a first end-user device in the service group, the service request at the avatar server, wherein the service request involves a second end-user device in the service group; and

processing the service request, at least partially, by communicating a message to the second end-user device on behalf of the first end-user device.

3. The method of claim 2 , wherein said communicating the message is in response to determining that the backhaul network channel is unavailable or that the application service server is unreachable.

4. The method of claim 2 , wherein processing the service request includes identifying the message indicated by, referenced in, or derived from the service request.

5. The method of claim 1 , wherein asynchronously communicating with the application service server is in response to determining that the backhaul network channel is available.

6. The method of claim 1 , wherein providing the localized application service further comprises:

receiving a data conversion request for a media content from one of the end-user devices; and

converting the media content using the application service avatar by utilizing a local version of a processing module stored in the avatar server.

7. The method of claim 6 , further comprising receiving an update to the local version of the processing module from the application service server when the backhaul network channel is available.

8. The method of claim 1 , wherein providing the localized application service further comprises:

receiving a content provisioning request including a content identifier from a requesting device among the end-user devices; and

locating content via the content identifier in a local data bank in the avatar server; and

serving the content to the requesting device in response to locating the content in the local data bank.

9. The method of claim 1 , wherein providing the localized application service further comprises:

receiving a content provisioning request including a content identifier from a requesting device among the end-user devices; and

locating content via the content identifier in a local data bank in the avatar server; and

fetching the content from the application service server to deliver to the requesting device, in response to being unable to locate the content in the local data bank when the backhaul network channel is available.

10. The method of claim 1 , wherein providing the localized application service further comprises:

receiving a content provisioning request including a content identifier from a requesting device among the end-user devices; and

locating content via the content identifier in a local data bank in the avatar server.

11. The method of claim 10 , wherein providing the localized application service further comprises queuing a content request for the content to the application service server for subsequent delivery to the requesting device, in response to being unable to locate the content in the local data bank and when the backhaul network channel is unavailable.

12. A non-transitory computer-readable storage memory storing computer-executable instructions that, when executed by a physical processor of a computing device, cause the computing device to perform a method comprising:

implementing an application service avatar at an avatar server that has at least an intermittent network access via a backhaul network channel to an application service server for providing an application service to client applications;

establishing a service group by maintaining a list of one or more end-user devices connected to the avatar server to access the application service;

providing, to the end-user devices, a localized application service via the avatar server by emulating at least a subset of functionalities provided by the application service, wherein said providing the localized application service includes:

locally processing, at least partially, a service request from at least one of the end-user devices at the avatar server;

receiving, from at least a first end-user device in the service group, a content publishing request including publishable content to be published to a sharable public domain; and

in response to determining that the backhaul network channel is unavailable or that the application service server is unreachable, locally, at the avatar server, pre-publishing the publishable content within the service group by making the publishable content available to the one or more end-user devices in the service group prior to sending the publishable content to the application service server; and

when the backhaul network channel is available, asynchronously communicating with the application service server to send the publishable content to the application service server.

13. The non-transitory computer-readable storage memory of claim 12 , wherein providing the localized application service further comprises:

receiving, from at least a first end-user device in the service group, the service request at the avatar server, wherein the service request involves a second end-user device in the service group; and

processing the service request, at least partially, by communicating a message to the second end-user device on behalf of the first end-user device.

14. The non-transitory computer-readable storage memory of claim 13 , wherein said communicating the message is in response to determining that the backhaul network channel is unavailable or that the application service server is unreachable.

15. The non-transitory computer-readable storage memory of claim 13 , wherein processing the service request includes identifying the message indicated by, referenced in, or derived from the service request.

16. The non-transitory computer-readable storage memory of claim 12 ,

wherein asynchronously communicating with the application service server is in response to determining that the backhaul network channel is available.

17. A system comprising:

an implementation module, stored in memory, that implements an application service avatar at an avatar server that has at least an intermittent network access via a backhaul network channel to an application service server for providing an application service to client applications;

an establishment module, stored in memory, that establishes a service group by maintaining a list of one or more end-user devices connected to the avatar server to access the application service; and

a providing module, stored in memory, that provides, to the end-user devices, a localized application service via the avatar server by emulating at least a subset of functionalities provided by the application service, wherein said providing the localized application service includes:

locally processing, at least partially, a service request from at least one of the end-user devices at the avatar server;

receiving, from at least a first end-user device in the service group, a content publishing request including publishable content to be published to a sharable public domain; and

in response to determining that the backhaul network channel is unavailable or that the application service server is unreachable, locally, at the avatar server, pre-publishing the publishable content within the service group by making the publishable content available to the one or more end-user devices in the service group prior to sending the publishable content to the application service server; and

when the backhaul network channel is available, asynchronously communicating with the application service server to send the publishable content to the application service server.

18. The system of claim 17 , wherein providing the localized application service further comprises:

receiving, from at least a first end-user device in the service group, the service request at the avatar server, wherein the service request involves a second end-user device in the service group; and

processing the service request, at least partially, by communicating a message to the second end-user device on behalf of the first end-user device.

19. The system of claim 18 , wherein said communicating the message is in response to determining that the backhaul network channel is unavailable or that the application service server is unreachable.

20. The system of claim 18 , wherein processing the service request includes identifying the message indicated by, referenced in, or derived from the service request.

Assignments (3)
CHANGE OF NAME Recorded Feb 18, 2022
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 059191/0695 →
CORRECTIVE ASSIGNMENT TO CORRECT THE COMMA OF THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 050214 FRAME: 0915. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT . Recorded Jan 29, 2022
From: BOHANNON, PHILLIP LEWIS; POOSALA, VISWANNATH
To: FACEBOOK, INC.
Reel/Frame 058902/0529 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2019
From: BOHANNON, PHILLIP LEWIS; POOSALA, VISWANNATH
To: FACEBOOK, INC.,
Reel/Frame 050214/0915 →
Continuity (2)
Continuation 14584815 · Dec 29, 2014
Related Publication 20190141162A1 · May 9, 2019