IP Library Granted Patent US 7,853,593
Granted Patent B2
US 7,853,593 · App. 11/689,335 · Granted Dec 14, 2010

Content markup transformation

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,853,593
App. No.
11/689,335
Granted
Dec 14, 2010
Kind
B2
Abstract

Methods of correcting and transcoding markup language content for mobile devices are described. In an example, mobile device capabilities are determined. Content is processed to correct malformed tags in the content based on the determination. The corrected content is transcoded from a first mark-up language which is not supported by a mobile device into a second markup language which is supported by the mobile device.

Claims (49)

1. A method implemented by a server having a processor executing instructions stored in a computer-readable storage media, the method comprising:

receiving, by the server, a request from a mobile device for accessing first content in a first-markup language;

determining capabilities of the mobile device for receiving and viewing the first content;

processing the first content, by the server, based on the determined capabilities of the mobile device by:

identifying certain types of markup tags and scripts in the first content as not meeting a predetermined safety criteria threshold;

correcting the first content by removing from the first content the certain types of markup tags and scripts that do not meet the predetermined safety criteria threshold prior to transcoding;

transcoding the first content from the first-markup language into a second-markup language that is supported by the determined capabilities of the mobile device;

identifying in the first content an original uniform resource locator (URL) reference to second content stored at an external content source, the external content source comprising an external content provider in communication with the server via a network;

rewriting the original URL reference in the first content to be directed to a proxy URL of the server to enable the server to act as a proxy to the second content at the external content source;

replacing the original URL reference with a proxy URL reference that references the proxy URL in the first content transcoded into the second-markup language; and

providing, to the mobile device, the first content transcoded into the second-markup language having the proxy URL reference, so that when the mobile device attempts to access the second content, the mobile device is directed to the server instead of the external content provider.

2. The method as described in claim 1 , further comprising inserting a resized image link into the first content transcoded into the second-markup language based on the determining.

3. The method as described in claim 1 , further comprising:

subsequently receiving, by the server, a request from the mobile device for access to the proxy URL by selection of the proxy URL in the first content;

accessing, by the server, the external content source based on the original URL to download the second content from the external content source; and

transcoding the second content to the second-markup language for providing transcoded second content to the mobile device.

4. The method as described in claim 1 , further comprising correcting malformed markup tags in the first content by identifying missing or unbalanced closing tags prior to the transcoding.

5. The method as described in claim 1 , wherein the server functions as a portal for the first content derived from a first content provider of the first content.

6. The method as described in claim 1 , wherein the determining the capabilities of the mobile device for receiving and viewing the first content is based on comparing a request header received from the mobile device with a list of known agents.

7. The method as described in claim 6 , wherein, when a matching agent is found in the list of known agents, browser capabilities of the matching agent are obtained.

8. A system comprising:

a server having a processor and a computer-readable storage media;

a transforming module executed by the processor to receive first content requested by a browser and to identify certain types of markup tags and scripts in the first content as not meeting a predetermined safety criteria threshold, the transforming module correcting the first content by removing from the first content the certain types of markup tags and scripts that do not meet the predetermined safety criteria threshold prior to transcoding;

a transcoding module maintained on the computer-readable storage media and executed on the processor to transcode the first content requested by the browser from a first-markup language that is not supported by the browser into a second-markup language that is supported by the browser; and

a link rewriting module maintained on the computer-readable storage media and executed on the processor to:

identify, in the first content, an original uniform resource locator (URL) reference to second content stored at an external content source, the external content source being an external content provider in communication with the server via a network;

rewrite the original URL reference in the first content to be directed to a proxy URL of the server to enable the server to act as a proxy to the second content at the external content source;

replace the original URL reference with a proxy URL reference to the proxy URL in the first content transcoded into the second-markup language; and

provide the first content transcoded into the second markup language having the proxy URL to the browser.

9. The system as described in claim 8 , the server being further configured to subsequently receive a request from the browser for access to the proxy URL by selection of the proxy URL in the first content by the browser, access the external content source based on the original URL reference to download the second content from the external content source, and transcode the second content to the second-markup language for providing transcoded second content to the browser.

10. The system as described in claim 8 , wherein malformed tags in the first content are corrected by the transforming module by identifying missing or unbalanced closing tags prior to transcoding the first content.

11. The system as described in claim 8 , wherein the transforming module inserts an image link, in the first content, for an image that is resized based on determined capabilities of the browser.

12. The system as described in claim 8 , wherein the transcoding module paginates the first content based on determined capabilities of the browser.

13. The system as described in claim 8 , wherein the transforming module determines capabilities of the browser based on comparing a request header received from a mobile device with a list of known agents.

14. The system as described in claim 13 , wherein, when a matching agent is found in the list, known browser capabilities of the matching agent are provided.

15. One or more computer-readable media comprising computer-executable instructions that, when executed, direct a computing system to:

serve as a first content provider server for providing first content, the first content being stored by the first content provider server;

receive a request for the first content from a mobile device for accessing the first content in a first-markup language;

determine capabilities of the mobile device for receiving and viewing the first content;

correct the first content by correcting malformed markup tags in the first content based on the determined capabilities of the mobile device, and by identifying certain types of markup tags and scripts as not meeting a predetermined safety criteria threshold, the first content being corrected by removing from the first content the certain types of markup tags and scripts that do not meet the safety criteria threshold;

transcode the corrected first content from the first-markup language into a second-markup language that is supported by the determined capabilities of the mobile device, the transcoding including stripping out markup tags which are not supported by a browser of the mobile device;

rewrite an original uniform resource locator (URL) link, included in the first content, that points to second content stored in an external content source in communication with the first content provider server via a network, the rewritten URL link pointing to proxied second content retrieved by the first content provider server from the external content source;

replace the original URL link in the corrected first content transcoded into the second-markup language with the rewritten URL link;

provide the corrected first content transcoded into the second markup language having the rewritten URL link to the mobile device, so that when the mobile device attempts to access the second content using the rewritten URL link, the mobile device is directed to the first content provider server instead of the external content provider;

receive a request from the mobile device for access to the proxy second content by selection of the rewritten URL link in the first content; and

correct and transcode the second content into the second-markup language for providing corrected and transcoded second content to the mobile device.

16. The one or more computer-readable media as described in claim 15 , wherein correcting the malformed markup tags comprises identifying missing or unbalanced closing tags.

17. The one or more computer-readable media as described in claim 15 , wherein the proxy second content is corrected to include a resized image link based on the determined capabilities of the mobile device.

18. The one or more computer-readable media as described in claim 15 , wherein first-markup language is hypertext markup language (HTML), and the second-markup language into which the first content is transcoded is compact hypertext markup language (cHTML).

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 23, 2007
From: SERDY, JR., FRANK S; ROMATKA, PH.D., RAINER J.; AGNEY, MICHAEL S.; HABARAKADA, SHYAM S.; SHAH, SARTHAK D.
To: MICROSOFT CORPORATION
Reel/Frame 019067/0318 →