# Patent

## Title
Policy based content service

## Abstract

Serving user selected content in accordance with a service policy is disclosed. The user may select content from a content source to be accessed at a mobile device. The desired content is modified as necessary such that transmission of the content complies with a policy. Alternatively, only content that complies with the policy may be made available for selection. The manner in which a policy is defined and the content provided may be determined by various factors including mobile device capabilities, user preferences, and network conditions.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is related to U.S. patent application Ser. No. 12/002,300 entitled “Content Delivery to a Mobile Device from a Content Service” filed on Dec. 13, 2007 and U.S. patent application Ser. No. 12/008,710 entitled “Mobile Virtual Network Operator” filed on Jan. 11, 2008. The disclosure of each co-pending application is incorporated herein by reference.
BACKGROUND
1. Field of the Invention
The present invention relates generally to the field of wireless mobile device network services. More specifically, the present invention relates to serving user selected content in accordance with an enforcement policy.
2. Description of Related Art
The Internet allows users to access data remotely through a computer. Traditionally, the computer has been a desktop unit or laptop. Mobile devices now have the computing power to access data remotely and effectively function as a desktop or laptop.
Notwithstanding, there are numerous issues related to serving content to mobile devices. Each mobile device will have varying capabilities such as resident software applications, screen size, memory capacity, and processing power. Additionally, there are many preferences that a user may have or be subject to that when incorporated into the content serving process, limit the ability to serve content.
Effectively managing mobile device capabilities and user preferences would provide improved and enhanced content access on a mobile device.
SUMMARY
A system for policy based content delivery includes a mobile device, a content source, and a content server. The mobile device selects and receives content. The content source provides content selected by the mobile device to the content server. The content source modifies content selected by the mobile device prior to providing the selected content to the mobile device. The content server detects content at the content source. The content server provides a list of detected content to the mobile device for selection by the user. The content server instructs the content source to provide the content in a manner that is in accordance with a policy.
A system for policy based content delivery includes a mobile device, a content source, and a content server. The mobile device selects and receives content. The content source provides content selected by the mobile device to the content server. The content server detects content at a content source. The content server provides a list of detected content to the mobile device for selection by the user. The content server requests content from the content source. The content server includes a content reformatting engine to modify selected content in a manner that is in accordance with a policy.
A system for policy based content delivery includes a mobile device, a content source, and a content server. The mobile device selects and receives content. The content source provides content selected by the mobile device to the content server. The content source modifies content selected by the mobile device prior to providing the selected content to the mobile device. The content server detects content at a content source. The content server provides a list of detected content to the mobile device for selection by the user. The content server instructs the content source to provide the content in a manner that is in accordance with a policy. The content server includes a content reformatting engine to modify selected content in a manner that is in accordance with a policy.
A method for providing content in accordance with a policy includes discovering available content at a content source, requesting content located on a content source from a mobile device, processing the request from the mobile device at a content server, requesting content source to provide content in a manner that conforms to the enforcement policy, and transferring the requested content from the content source in a manner that conforms to the enforcement policy.
A computer program is stored on a computer readable storage medium. The program is executable by a processor for performing a method for providing user selected content to a mobile device. The method includes discovering available content at a content source, requesting content located on a content source from a mobile device, processing the request from the mobile device at a content server, requesting content source to provide content in a manner that conforms to the enforcement policy, and transferring the requested content from the content source in a manner that conforms to the enforcement policy.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 depicts an exemplary system in which metadata is sent from a variety of content sources to a content server for content discovery.
FIG. 2 depicts an exemplary system in which user selected content is sent from a content source through a policy based content server to a mobile device.
FIG. 3 depicts an exemplary system in which user selected content is sent directly from a content source with a connector to a mobile device.
FIG. 4 depicts an exemplary system in which user selected content is sent from a content source with a connector through an approved external proxy to a mobile device.
FIG. 5 depicts an exemplary method for policy based service of content.



DETAILED DESCRIPTION
FIG. 1 depicts an exemplary system 100 in which metadata is sent through a network 190 from a variety of content sources to a content server 120 for content discovery.Mobile device 110 requests content from a content source 115 as may be identified through a catalog, listing, or web pages associated with content source 115 or content server 12. Content source 115 may include a personal computer 170 or content portal such as YAHOO! Video 150 or YOUTUBE Video 160.
Content server 120 receives metadata 195 from the content source 115 and determines the information concerning the requested content such as file size, format, encoded bit rate, and DRM limitations. Policy 130 is any one or combination of service provider restrictions, mobile device capabilities, and user preferences. The content server 120 uses policy 130 to identify what type of requested content may be transferred to the mobile device 110.
Policy enforcement engine 180 ensures that requested content transferred to the mobile device 110 meets the requirements of the policy 130. This enables the service provider, for example, to enforce the service policy on the user's transmissions. The content server 120 may then instruct the content source 115 whether the requested content should be provided.
For example, the requested content may be a still image. The content source will send metadata 180 to the content server 120 indicating, for example, the format and file size of the still image. In this example, the still image may have a file size of 4 MB and be in the bitmap format. The content server 120 will then use policy 130 and policy enforcement engine 180 to determine whether the requested content can be provided “as is” from the content server 115. If not, the policy enforcement engine 180 and content reformatting engine 135 may attempt to reformat the content prior to transfer to the mobile device in order to comply with policy 130.
In this example, the policy 130 may limit the file size to 2 MB and the picture format to jpeg. The content server 110 will instruct the content source 115, if possible, to provide the requested content as 2 MB jpeg file. If not available as a 2 MB jpeg, the policy enforcement engine 180 may instruct content reformatting 135 to modify the content that is available for delivery in compliance with the policy 130. In other situations, the policy 130 may limit the bit rate at which the transfer occurs, as well as resolution, total bandwidth, and transfer protocol.
Policy 130 may be modified or set according to personal user preferences. The user may add additional limits on the manner in which content is or is not provided to the mobile device 110. For example, the user can control the quality of the audio playback and the audio format to use when receiving audio content.
In FIG. 1, the personal computer 170 includes a connector 140. The connector 140 is a software application that allows a user to configure the personal computer 170 to provide content to the mobile device 110 via content server 120. The connector 140 may be configured by the user to allow desired folders and files on the personal computer to be accessible to the mobile device. In other embodiments, the connector 140 may be connected to other content sources. Personal computer 170, in an alternate embodiment, may include the policy 130, policy enforcement engine 180, and content reformatting engine 190.
The content server 120 may be configured to reformat downloaded digital content using the content reformatting engine 135. The content reformatting engine 135 may decode, encode, transcode, or resample digital content. The content reformatting engine 135 may initiate reformatting of the downloaded content in response to a command issued by the policy enforcement engine 180 or by the mobile device 110. Reformatting may also occur automatically according to user preferences reflected in the policy 130. The content reformatting engine 135 may include copying a file while changing a file format from one format to another, or while changing a bit rate or resolution such that the copy has a different bit rate or resolution than the original.
In one example, the content reformatting engine 135 reformats an MPEG-2 encoded video file to a 3GP encoded video file by copying the MPEG-2 encoded video file and saving the copied video file in the local content store 132 as a 3GP encoded video file. In a second example, the content reformatting engine 135 reformats an AVI encoded video file having a resolution of 720 by 480 pixels to an AVI encoded video file having a resolution of 360 by 240 pixels. In another example, the content reformatting engine 135 reformats an MPEG-4 encoded video file having a frame rate of approximately 30 frames per second (fps) to an MPEG-4 encoded video file having a frame rate of approximately 15 fps. By further example, the content reformatting engine 135 reformats an MP3 encoded audio file having a bit rate of 192 kilobits per second (kbps) to an MP3 encoded audio file having a bit rate of 128 kbps.
The content reformatting engine 135 may also reformat the content based upon a factor dependent on the mobile device 110, a user-selectable preference, or a preset preference. The factor dependent on the mobile device 110 may further include supported codecs (e.g., MP3 and WMA), bit rates (i.e., bits per second), sampling rates (i.e., samples per second), sample resolutions (i.e., bits per sample), and video frame rates (i.e., frames per second). The factor dependent on the mobile device 110 may also include processing power, memory size, free available memory, screen size, and screen resolution.
The reformatting may be performed such that the reformatted digital content transferred to the mobile device 110 corresponds to an optimal data size range as determined by factors listed above. As an example, the downloaded content may be reformatted to more compact file sizes when free available memory at the mobile device 110 is low. Alternatively, the downloaded content may be reformatted to larger file sizes when free available memory at the mobile device is high. As another example, the downloaded content may be reformatted to a lower resolution screen size when the mobile device 110 is a cellular telephone than when the mobile device 120 is a PDA. The downloaded content may be reformatted to resolution somewhat larger (finer) than the screen size resolution to allow the downloaded content to be zoomed and cropped to a reasonable degree at the mobile device 110.
FIG. 2 depicts an exemplary system 200 in which user selected content is sent from a content source 230 through the policy based content server 220 to a mobile device 210. The policy based content server 220 corresponds to the content server 120 of FIG. 1. In this embodiment, policy enforcement occurs at the policy based content server 220.
FIG. 3 depicts an exemplary system 300 in which user selected content is sent directly from a content source with connector 330 to a mobile device 310. In this embodiment, the policy enforcement occurs at the content source with connector 330 as the content is not sent back through the policy based content server 320. A content source with connector 330 may be akin to the coupling or integration of the connector 140 and personal computer 170 in FIG. 1. A connector coupled to or integrated with the content source may perform policy enforcement at the content source. In some embodiments, content selection may bypass the policy based content server 320 and occur by and between mobile device 310 and content source 330.
FIG. 4 depicts an exemplary system 400 in which user selected content is sent from a content source with connector 430 through an approved external proxy 440 to a mobile device 410. The policy enforcement may occur at the content source 430 or the external approved proxy 440. Use of the external approved proxy 440 may be subject to the proxy having a connector application. The approved external proxy 440 may be a server remote from the service provider. Alternately, the external proxy 440 may be a separate server located at the same data center as the content based content server 420.
FIG. 5 depicts an exemplary method for policy based service of content. Step 510 is the discovery of available content on a content source. Step 520 is the requesting of content located on a content source from a mobile device. Step 530 is the processing of the request from a mobile device at a content server. Step 540 is requesting the content source to provide content in a manner that conforms to a service policy. Step 550 is the optional reformatting of the selected content as necessary to conform to the enforcement policy. Step 560 is the transferred of the requested content from the content source in a manner that conforms to the enforcement policy to the mobile device.
While the present invention has been described in connection with a series of preferred embodiment, these descriptions are not intended to limit the scope of the invention to the particular forms set forth herein. To the contrary, the present descriptions are intended to cover such alternatives, modifications, and equivalents as may be included within the spirit and scope of the invention as defined by the appended claims and otherwise appreciated by one of ordinary skill in the art.

## Claims

1. A method comprising:
forwarding, by a content server, a request for content initiated by a mobile device to content source,
wherein the content is located at the content source;

processing, by the content server, metadata associated with requested content to determine if whether the requested content complies with a policy, responsive to forwarding the request to the content source, the metadata associated with the requested content is received from the content source without the requested content, and
wherein the policy includes a service provider policy to enforce service policy on the mobile device;

instructing the content source to modify the requested response content by changing an image file or video file from a first size to a second size to comply with the policy, and
instructing the content source to transfer the content to the mobile device.

2. The method of claim 1, wherein the requested content is transferred to the mobile device from the content source via the content server.

3. The method of claim 1, wherein the requested content is transferred to the mobile device directly from the content source.

4. The method of claim 1, wherein the requested content is transferred to the mobile device via a proxy.

5. The method of claim 1, wherein the policy specifies at least one of a file format and file size.

6. The method of claim 1, wherein the policy is further based, at least in part, on at least one of a mobile device capability and a user preference.

7. The method of claim 1, further comprising:
instructing the content source to modify the requested content by reformatting the content from a video file having a first frame rate to a video file having a second frame rate.

8. The method of claim 1, further comprising:
instructing the content source to modify the requested content by reformatting an image file or video file from a first file format to a second file format to comply with the policy.

9. The method of claim 1, wherein the policy specifies a bit rate.

10. The method of claim 1, wherein the policy specifies a DRM limitation.

11. The method of claim 1, wherein the request for content comprises a selection of video content from a user of the mobile device, the selection indicating the video from the list of content located at a content source.

12. The method of claim 1, wherein instructing the content source to transfer the content to the mobile device if the requested content complies with the policy comprises sending instructions to the content source directing the content source to transfer the video content to the content server.

13. The method of claim 1, further comprising:
in response to determining that video content does not comply with the policy specifying a particular video file format, converting the file format of the video content to comply with the policy,
wherein, the policy specifies the particular video file format, and
wherein, the policy is, at least in part, specified by a service provider.

14. A non-transitory computer readable storage medium having programming instructions stored thereon that when executed by one or more computer processors of a content server, cause the content server to:
forward a request for content initiated by a mobile device to a content source, the request initiated by a mobile device;
process metadata associated with requested content to determine whether transfer of the requested content complies with a policy,
responsive to forwarding the request to the content source, the metadata associated with the requested content is received from the content source without the requested content, and
wherein the policy specifies a bandwidth at which transfer occurs and is, at least in part, specified by a service provider;

instructing the content source to modify the requested response content by changing an image file or video file from a first size to a second size to comply with the policy, and
instruct the content source to transfer the content to the mobile device.

15. The computer readable storage medium of claim 14, wherein the requested content is transferred to the mobile device via the content server.

16. The computer readable storage medium of claim 14, wherein the requested content is transferred to the mobile device directly from the content source.

17. The computer readable storage medium of claim 14, wherein the requested content is transferred to the mobile device via a proxy.

18. The computer readable storage medium of claim 14, wherein the policy specifies at least one of a file format and file size.

19. The computer readable storage medium of claim 14, wherein the policy is further based, at least in part, on mobile device capability.

20. The computer readable storage medium of claim 14, wherein the policy is based on user preferences.

21. The computer readable storage medium of claim 14, wherein the policy specifies a bit rate.

22. The computer readable storage medium of claim 14, wherein the policy specifies a DRM limitation.

23. A system comprising:
one or more processors;
a memory unit having programming instructions stored thereon that, when executed by the one or more processors, cause the system to:
forward a request for content initiated by a mobile device to a content source, wherein the content is located at the content source;
process metadata associated with requested content to determine if the requested content complies with a policy,
responsive to forwarding the request to the content source, the metadata associated with the requested content is received from the content source without the requested content, and
wherein the policy includes a service provider policy to enforce service policy on the mobile device;

instructing the content source to modify the requested response content by changing an image file or video file from a first size to a second size to comply with the policy, and
instructing the content source to transfer the content to the mobile device.

24. The system of claim 23, wherein the requested content is transferred to the mobile device from the content source via the content server.

25. The system of claim 23, wherein the requested content is transferred to the mobile device directly from the content source or via a proxy.

26. The system of claim 23, wherein the policy specifies a file format and file size.

27. The system of claim 23, wherein the policy is based, at least in part, on at least one of a mobile device capability and a user preference.