GB2344197A - Content conversion of electronic documents - Google Patents

Content conversion of electronic documents Download PDF

Info

Publication number
GB2344197A
GB2344197A GB9918517A GB9918517A GB2344197A GB 2344197 A GB2344197 A GB 2344197A GB 9918517 A GB9918517 A GB 9918517A GB 9918517 A GB9918517 A GB 9918517A GB 2344197 A GB2344197 A GB 2344197A
Authority
GB
United Kingdom
Prior art keywords
conversion
preferences
image
electronic document
content
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
GB9918517A
Other versions
GB9918517D0 (en
Inventor
Kenneth F Carlino
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Spyglass Inc
Original Assignee
Spyglass Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Spyglass Inc filed Critical Spyglass Inc
Publication of GB9918517D0 publication Critical patent/GB9918517D0/en
Publication of GB2344197A publication Critical patent/GB2344197A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents

Abstract

Original electronic documents such as a web page in a standard format (e.g., SuperVGA, 800x600 pixel resolution, 256 colors from the Internet or an intranet are converted into converted formats that can be appropriately displayed on a hand-held device or other desired device with a display with less than SuperVGA resolution. However, converted electronic documents can also be displayed on the display with SuperVGA resolution. A conversion directive is used to convert an original electronic document into a converted electronic document. It includes a list of conversion preferences and uses conversion precedence indicating an ordering in which the list of conversion preferences are to be applied to the original electronic document. The conversion preferences include user-conversion preferences, device-conversion preferences, site-specific conversion preferences, or other preferences. The content converter can work with a proxy server.

Description

2344197 Content Conversion of Electronic Data This invention relates to
computer networks. More specifically, it relates to a method and system for converting the content of electronic data for a desired network device using conversion preferences.
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by any person of the patent disclosure, as it appears in the Patent Office records and documents. In all other respects whatsoever copyright is reserved.
The Internet is a world-wide network of interconnected computers. The World-WideWeb is an information system on the Internet designed for electronic document interchange. Electronic documents on the World-WideWeb are typically stored in files that include text, hypertext, references to graphics, animation, audio, video and other electronic data. The structure of hypertext documents is defined by document markup languages such as Standard Generalized Markup Language ("SGML'), Hyper Text Markup Language C'HTML'), eXtensible Markup Language ("XML'), Virtual Reality Markup Language ("VRML' and others.
As is known in the art, a hypertext document includes markup codes called "tags." Tags define the structure of a hypertext document and typically includes at least a "begin" tag name enclosed by a delimiter and, in many instances, an "end" tag name enclosed by a delimiter. For example, the markup tag "<Hl>" signifies the beginning of a Hyper Text Markup Language first level header, and the markup tag "</H I >" signifies the end of a Hyper Text Markup Language first level header. However, the Hyper Text Markup Language - I - image tag "<IMG... >"' ends with the closing tag delimiter '5" and does not use an end tag in the format "<\IMG>". Other markup languages have similar tags used to create hypertext documents.
Markup languages allow references to additional content besides text including graphics, animation, audio, video and other electronic data. The Hyper Text Markup Language allows use of graphical images in a hypertext document with an image "<MG>" tag. For example, an exemplary Hyper Text Markup Language image tag <IMG SRC="logo.jpg"> allows a graphical logo image stored in a Joint Pictures Expert Group file "logo. jpg" to be displayed.
Hypertext documents from the World-Wide-Web are typically displayed for a user with a software application called a "browser" such as Internet Explorer, by Microsoft Corporation of Redmond Washington, or Netscape Navigator, by Netscape Communications of Mountain View, California, and others. A browser typically parses a hypertext document and converts hypertext, including markup tags, into a visual display of text, graphics, animation, audio, video, etc., for display on a device such as a personal computer display.
Additional content is retrieved in a hypertext document from other sources using "hyperlink" references within hypertext documents. For example, an exemplary Hyper Text Markup Language hyperlink tag "<A HREF=="http://Www.spyglass.com/logo.mov">" provides a hyperlink to a movie file "logo.mov." When a user selects the link (e.g., with a mouse click) in a hypertext document, the movie file "logo.mov" is located using a Uniform Resource Locator ("URL') from the location "www.spyglass. com." Hyper Text Transfer Protocol (e.g., "HTTP") is used as the transfer protocol.
Transfer protocols such as Hyper Text Transfer Protocol ("HTTP'), File Transfer Protocol ("FTP"), Gopher, and others provide a means for transferring hypertext documents or additional content from other locations on the World-Wide-Web. Hyper Text Transfer Protocol is one primary protocol used to transfer information on the World-Wide-Web. Hyper Text Transfer Protocol is a protocol that allows users to connect to a server, make a hypertext request, get a response, and then disconnect from the server. File Transfer Protocol is a protocol that provides access to files on remote systems. Using File Transfer Protocol, a user logs onto a system, searches a directory structure and downloads or uploads a file. Gopher is a protocol similar to File Transfer Protocol. Gopher provides a series of menus linked to files containing actual hypertext.
Content providers on the World-Wide-Web provide custom content using attributes from markup language tags. For example, the Hyper Text Markup Language IMG tag includes the following attributes: ISMAP, a selectable image map; SRC, a source Uniform Resource Locator of an image; ALT, a text string used instead of an image; ALIGN, for alignment of an image (e. g.. left, middle, right); VSPACE, the space between an image and the text above and below it; HSPACE, the space between and image and the text to its left or right; WIDTH, the width in pixels of an image; HEIGHT, the height in pixels of an image; and a few other attributes depending on the browser being used (e.g., BORDER and LOWSRC in a Netscape browser). In addition, other content attributes can be modified such as one of 256 colors (e.g., TEXT="blue," or TEXT="Oxa6cafO" for sky blue), font face (e. g., FONT FACE="Times Roman"), character formatting, (e.g., <B>text</B> for bold text), etc.
Most of the electronic documents developed for the World-Wide-Web assume that users will view the content of the electronic document with a browser on a desktop computer screen with a standard "SuperVGA" resolution (e.g., 800x6OO pixel resolution with 256 or more available colors). A user can alter display of selected electronic document content by changing browser attributes (e.g., color of text, size of text). However, the changeable content is limited by changeable attributes in a browser being used.
There are a number of problems with using electronic documents developed for the World-Wide-Web based on the assumption of viewing with standard "SuperVGA" resolution. A user with a hand-held computer, personal digital assistant C'PDA') or other hand-held device, such as wireless phone, may desire to view electronic documents from the World-Wide-Web. However, most hand-held devices have a display with a resolution that is less than SuperVGA (e.g., less than 800x6OO pixel resolution and less than 256 colors) and typically do not support color. Thus, the content of electronic documents will not be properly displayed and may be difficult to view based on the original hypertext content.
One solution is to store several versions of an electronic document for different devices. However, this often makes administration of the electronic documents very difficult. Multiple copies of electronic documents also waste a tremendous amount of storage space on electronic document servers on the World-Wide-Web. The dynamic nature of the WorldWide-Web also means that new content types are constantly being introduced. Multiple copies of existing electronic documents must be constantly manipulated.
Another solution is to provide content conversion applications to convert electronic documents to match the capabilities of a device or the preferences of a user. One purpose of converting electronic documents is to provide information to users in a format different from that provided by the initial electronic document provider. Examples include scaling images for a specific device with a small display or converting text to speech for a visually impaired user. Most content conversion applications depend on a user-device to render the electronic document being displayed. As a result, each hand-held device is required to have a copy of a desired content conversion application.
There have been attempts to provide content conversion applications for electronic documents for the World-Wide-Web. QuickWeb Technology, by Intel Corporation of Santa Clara, California, analyzes a hypertext document for graphic images and then compresses bits of image data so that the images can be transmitted faster to a user's device. QuickWeb Technology also caches images. After a user's first request, an image is cached by QuickWeb. Subsequent requests for the same image are delivered from the cached source instead of a remote content server. QuickWeb Technology is limited to converting images and currently does not allow conversion of other content information.
TranSend, by the University of California at Berkeley, California, provides a conversion proxy that converts images in an electronic document by reducing image quality. Although the resulting images are of a lower quality, an original image can also be recovered. The TranSend Proxy distills images for faster electronic document display from the WorldWide-Web. TranSend limits user configurations to turning the proxy on and off and reducing image quality for faster transmission. TranSend is also currently limited to converting images only and does not allow conversion of other information.
Thus, it is desirable to have a content conversion application that converts other aspects of electronic documents besides images for display on a desired device. The content conversion application should allow conversion of an electronic document based on capabilities of a device, display preferences of a user, site-specific characteristics of an electronic document server, or other preferences.
Viewed from one aspect of the present invention there is provided a method of content conversion in a first computer network with a plurality of network devices connected to a second computer network with a plurality of network devices, comprising the following steps: receiving a request for an original electronic document on a second network device on the first computer network from a first network device on the first computer network; extracting conversion information from the request; creating one or more conversion keys from the extracted conversion information to access one or more of a plurality of conversion preferences stored in a database; obtaining one or more of the plurality of conversion preferences from the database using the one or more conversion keys; and creating a conversion directive with a conversion precedence to convert an original electronic document into a converted electronic document.
Viewed from another aspect of the present invention there is provided a method of content conversion in a first computer network with a plurality of network devices connected to a second computer network with a plurality of network devices, comprising the following steps: receiving an original electronic document on a second network device on the first network from a third network device on the second network; obtaining a conversion directive with a conversion precedence on the second network device, wherein the conversion directive includes a list of conversion preferences and uses conversion precedence indicating an ordering in which the list of conversion preferences are to be applied to the original electronic document; and converting the original electronic document into a converted electronic document using the conversion directive.
Viewed from another aspect of the present invention there is provided computer software which when run on data processing means will cause the above methods to be carried out. The software may be provided on a computer readable medium such as a disk or as signals from a remote site, for example.
Viewed from another aspect of the present invention, there is provided a content conversion system comprising, in combination: a content converter for converting an original electronic document into a converted electronic document for a desired device based on a content conversion directive; a database for storing a plurality of conversion preferences used for content conversion; a proxy server for communicating with a plurality of network devices making requests for original electronic documents, communicating with the context converter, and with a plurality of content servers on a computer network providing original electronic documents; and a content conversion directive with a conversion precedence created from one or more of the plurality of conversion preferences from the database for converting an original electronic document into a converted electronic document.
Viewed from another aspect there is provided computer software which when run on data processing means will cause the data processing means to operate as such a system.
In accordance with a preferred embodiment of the present invention, some of the problems associated with content conversion of electronic documents are overcome. A method and system for content conversion of electronic documents using conversion preferences is provided. The method and system allow content conversion of an original electronic document including text, hypertext, images and other electronic document content based on one or more sets of conversion preferences.
A content conversion method for a preferred embodiment of the present invention includes receiving a request for an original electronic document on a second network device (e.g., a content converter) on a first computer network from a first network device (e.g., a hand-held device) on the first computer network. Conversion information is extracted from the request. One or more conversion keys are created from the extracted conversion information to access one or more of multiple conversion preferences stored in a database. One or more of the multiple conversion preferences is obtained from the database using the one or more conversion keys. A conversion directive is created using conversion precedence to convert an original electronic document into a converted electronic document. The conversion directive includes a list of conversion preferences and uses conversion precedence indicating an ordering in which conversion preferences are to be applied to an original electronic document.
The conversion directive can be created from a number of different conversion preferences thereby providing a number of different conversion permutations. The conversion preferences include user-conversion preferences, device-conversion preferences, site-specific conversion preferences or other conversion preferences for converting an original electronic document into a converted electronic document suitable for display on a hand-held device or other desired device. The conversion directive can also be saved in persistent storage (e.g., a database) for later use.
In one preferred embodiment of the present invention, the conversion directive is used to convert most original electronic documents intended for viewing on a display with SuperVGA resolution into converted electronic documents based on one or more conversion preferences. A converted electronic document is in an appropriate format for a hand-held device or other device to display on a display with less than SuperVGA resolution. However, the converted electronic document can also be converted for use on a device with a display with SuperVGA resolution.
A content conversion system for a preferred embodiment of the present invention includes a content converter, database, proxy server and content conversion directive. The content converter converts an original electronic document into a converted electronic document for a desired device based on a content conversion directive. The database stores multiple conversion preferences used for content conversion. The proxy server, communicates with a multiple network devices making requests for original electronic documents, communicates with a context converter, and with multiple content servers on a computer network providing original electronic documents. The content conversion directive with conversion precedence is created from one or more of the multiple conversion preferences from the database converts an original electronic document into a converted electronic document. The content conversion system components listed may also be split into additional components or combined into fewer components to provide content conversion and more or fewer system components can also be used.
The content conversion method and system allows user-conversion preferences, device-conversion preferences, site-specific conversion preferences and/or other conversion preferences to be selected to provide a customized converted electronic document that is suitable for display on a hand-held device or other devices. The content conversion method and system allow conversion of text, hypertext, images, as well as additional electronic document content (e.g., graphics, audio, video, etc.) for most original electronic documents obtained from electronic document servers on the World-Wide-Web on the Internet or an intranet.
The foregoing and other features and advantages of a preferred embodiment of the present invention will be more readily apparent from the following detailed description, with references to the accompanying drawings, in which:
FIG. I is a block diagram generally illustrating a content conversion system; FIG. 2 is a block diagram illustrating a method for content conversion; FIG. 3 is a block diagram illustrating one exemplary content conversion system; FIGS. 4A, 4B and 4C are a flow diagram illustrating a method for content conversion using the content conversion system of FIG. 3; FIG. 5 is a block diagram illustrating components of a content converter; FIG. 6 is a flow diagram illustrating a method for content conversion with the content converter illustrated in FIG. 5; FIG. 7 is a block diagram illustrating a method for content conversion using conversion preferences; and FIGS. 8A and 8B are block diagrams illustrating exemplary content conversion screen displays. Content Conversion System FIG. I is a block diagram illustrating a content conversion system 10. Content conversion system 10 includes multiple components. A first network device 12 requests original electronic documents. The first network device 12 includes a display that is less that SuperVGA resolution (i.e., less than 8OOx6OO pixel resolution or less than 256 colors). However, a preferred embodiment of the present invention can also be practiced with a first network device that has a display with SuperVGA resolution.
As is known in the art and is described above, an electronic document includes text, hypertext, graphical data or references to graphical data images, audio, video and other content. A hypertext document includes markup codes called "tags." The structure of hypertext documents is defined by document markup languages such as Standard Generalized Markup Language ("SGMU), Hyper Text Markup Language ("HTML"), eXtensible Markup Language ("XMU), Virtual Reality Markup Language ("VRML") and others. Markup languages also allow references to additional content besides text including graphics, animation, audio, video and other electronic data.
Also described above, electronic documents are typically displayed for a user with a software application called a "browser." A browser on a handheld device may be a sub-set of a larger browser, and not capable of displaying complete content of a requested electronic document as stored on an electronic document server. A browser typically reads an electronic document and renders the electronic document content into a visual display of text, graphics, animation, audio, video, etc., for display on a device such as a personal computer. Most electronic documents developed assume that users will view the content of the electronic document with a browser on a desktop computer screen with a standard "SuperVGA" resolution (e.g., 800x6OO pixel resolution with 256 or more available colors). A user can alter display of selected content by changing browser attributes. However, the custom content for a user is limited by changeable attributes in the browser being used.
Returning to FIG. 1, a proxy server 14 services requests for electronic documents from the first network device 12 and sends converted electronic documents back to the first network device 12. A content converter 16 converts content of an electronic document to a format usable on the first network device 12 (e.g., a device with a smaller display). A database 18 stores conversion preferences. FIG. I illustrates a single database 18. However, multiple database components can also be used. A computer network 20 provides one or more electronic document servers for supplying electronic documents, In a preferred embodiment of the present invention, the computer network 20 is the World-Wide-Web on the Internet. As is known in the art, the Internet is a world-wide network of interconnected computers. The World- Wide-Web is an information system on the Internet designed for electronic document interchange. However, other computer networks with electronic document servers could also be used (e.g., an intranet).
FIG. 1 illustrates the content converter 16 as an individual component. However, the content converter 16 can also be integral to the proxy server 14 (not illustrated in FIG. 1). A preferred embodiment of the present invention is not limited to the network components shown in the content conversion system 10 and more or fewer network components may also be used. In a preferred embodiment of the present invention, the proxy server 14 and the content converter 16 are software components. In addition, the fimctionality of components from FIG. I can also be provided with a combination of hardware and software components, or hardware components.
In a preferred embodiment of the present invention, the fimctionality of components from FIG. I is provided with software using object-oriented programming techniques and the C++ programming language. However, other object-oriented programming languages besides C++ could also be used. In addition, in a preferred embodiment of the present invention, the fimctionality of components of FIG. 1 can also be provided with nonobject oriented programming languages (e.g., C programming language).
As is known in the art, object-oriented programming is used to design computer software including object-oriented objects that are easy to create, cost effective to modify, and reusable. Object-oriented objects include "object data" and "object services." Object services are provided through "object methods" (also called "object operations" or "object functions"). Object methods typically operate on private data such as "instance data" or "object state data" that an object owns, A collection of objects is called an "object class" which is sometimes called an "object type." An object class acts as a template that describes the behavior of sets of objects. An object's implementation is typically encapsulated, and is hidden from public view. Object private instance data can only be accessed by object methods of an object class. Object public instance data is accessed through a public "object interface."
An operating environment for components of content conversion system 10 of a preferred embodiment the present invention includes a processing system with at least one high speed Central Processing Unit ("CPU") and a memory system. In accordance with the practices of persons skilled in the art of computer programming, the present invention is described below with reference to acts and symbolic representations of operations that are performed by the processing system, unless indicated otherwise. Such acts and operations are referred to as being "computer-executed" or "CPU executed." Although described with one CPU, alternatively multiple CPUs may be used for a preferred embodiment of the present invention.
The memory system may include main memory and secondary storage. The main memory is high-speed random access memory ("RAM"). Main memory can include any additional or alternative high-speed memory device or memory circuitry. Secondary storage takes the form of persistent long term storage, such as Read Only Memory ("ROM"), optical or magnetic disks, organic memory or any other volatile or non-volatile mass storage system. Those skilled in the art will recognize that the memory system can comprise a variety and/or combination of alternative components.
Acts and symbolically represented operations include the manipulation of electrical signals by the CPU. The electrical signals cause transformation of data bits. The maintenance of data bits at memory locations in a memory system thereby reconfigures or otherwise alters the CPU's operation. The memory locations where data bits are maintained are physical locations that have particular electrical, magnetic, optical, or organic properties corresponding to the data bits.
The data bits may also be maintained on a computer readable medium including magnetic disks, optical disks, organic disks and any other volatile or non-volatile mass storage system readable by the CPU. The computer readable medium includes cooperating or interconnected computer readable medium, which exist exclusively on the processing system or may be distributed among multiple interconnected processing systems that may be local or remote to the processing system.
Components of content conversion system 10 allow content conversion based on one or more sets of conversion preferences. An electronic document converted by the content conversion system 10 is suitable for display on a device with a smaller display and less than SuperVGA resolution or on a display with SuperVGA resolution. Content Conversion FIG. 2 is flow diagram illustrating a Method 22 for content conversion. At Step 24, the content converter 16 receives a request for an original electronic document from the first network device 12 via the proxy server 14. At Step 26, the content converter 16 consults the database 18 to obtain conversion preferences (e.g., conversion preferences to convert the original electronic document requested by the first network device 12 into a converted electronic document for the first network device 12). 'Me conversion preferences can include any of user- preferences, deviceconversion preferences, site-specific conversion preferences, or other preferences for content conversion. At Step 28, the content converter 16 returns the request for the original electronic document back to the proxy server 14. The proxy server 14 sends the request to an appropriate electronic document server on the computer network 20 to obtain the requested original electronic document.
At Step 30, the content converter 16 receives the requested original electronic document from the proxy server 14. At Step 32, content converter 16 converts the original requested electronic document into a converted electronic document based on conversion preferences (e.g., using a conversion directive or content conversion script) obtained at Step 26. Text, images and other hypertext content (e.g., audio, video, etc.) are converted based on one or more sets of preferences. At Step 34, the content converter 16 sends a converted electronic document to the proxy server 14. The proxy server 14 sends the converted electronic document to the first network device 12 in response to the request made by the first network device 12 for the original electronic document. The first network device 12 receives a converted electronic document based on one or more conversion preferences. Method 22 can also be practiced with the content converter 16 integral to the proxy server 14.
Method 22 allows a network device to receive a converted electronic document based on user-conversion preferences, device-conversion preferences, site-specific conversion preferences, or other preferences. Method 22 allows a personal digital assistant, hand-held computer, wireless phone, or other small or hand-held devices to receive a converted electronic document. The converted electronic document is appropriate for viewing on a smaller display with a lower resolution even though the original electronic document retrieved was written for a display in a higher resolution SuperVGA format. Method 22 can also be used for providing a converted electronic document for a display with SuperVGA resolution (e.g., by changing display characteristics based on one or more sets of conversion preferences). Exemplary Content Conversion System In one exemplary preferred embodiment of the present invention, thefunctionality of one or more components of the content conversion system 10 is split into multiple component modules and may include additional optional component modules (e.g., administrative modules, filter modules). Such an exemplary preferred embodiment is used to distribute functionality and provide additional conversion functionality to the content conversion system 10.
FIG. 3 is a block diagram illustrating an exemplary content conversion system 36 for one preferred embodiment of the present invention. However, the invention is not limited to the components illustrated in FIG. 3, and more or fewer components could also be used in the exemplary content conversion system. The original components of the content conversion system 10 from FIG. I are illustrated with a dashed line in FIG. 3. The original connections from FIG. I are not illustrated in FIG. 3. In addition, the conversion components could be split into more component modules or combined into fewer component modules.
An optional administrative interface 38 is used by system administrators with a second network device 40 to configure the conversion system 36 and to maintain the database 18. An optional administrative server 42 is a server used to modify configuration files used by the proxy server 14 and the database 18. A transaction manager 44 queries the database 18 for user-conversion preferences, device-preferences, site-specific conversion preferences, and other preferences during a request transaction.
A converter 46 communicates with client components 48, the content converter 16, and a cache 50, depending on the content type of an electronic document being converted. The converter 46 may also include a document production module (not illustrated in FIG. 3). The document production module can be use to help the converter 46 convert an electronic i 1 -16- 1 document comprising a metadata object and a datapipe object into a converted electronic document.
The client components 48 include network components that retrieve electronic document content from the computer network 20. The cache 50 stores Uniform Resource Locators ("URLs"), request headers, response headers, converted data, unconverted data, and/or a conversion signature for request transactions. As is known in the art, a URL is used to locate an electronic document on the World-Wide-Web. Content conversion ftinctionality provided by the proxy server 14 and the content converter 16 (FIG. 1) is distributed among additional component modules in the content conversion system 36 (FIG. 3). However, a preferred embodiment of the present invention can be practiced without distributing conversion ftinctionality among the multiple modules illustrated in FIG. 3.
In a preferred embodiment of the present invention, the functionality of component modules from FIG. 3 are implemented with software using objectoriented programming techniques and the C++ programming language. However, other object-oriented programming languages and other non-object oriented programming languages could also be used. In addition, functionality of component modules from FIG. 3 can also be implemented as a combination of hardware and software components, or as hardware components.
Exemplary Content Conversion FIGS. 4A, 4B and 4C are a flow diagram illustrating an exemplary Method 52 for content conversion using the content conversion system 36 of FIG. 3. At Step 54 of FIG. 4A, the proxy server 14 receives a request from the first network device 12 for an original electronic document. In one exemplary embodiment of the present invention, the request is a Hyper Text Transfer Protocol ("HTTP") request (e.g., http://www.spyglass. com/info.html).
However, other requests may also be made (e.g., File Transfer Protocol ("FTP") request, Gopher request, etc.) (e.g., ftp://www.spyglass.com/info. htrnl). As is known in the art, HTTP is a transfer protocol used to transfer data from an electronic document server on the WorldWide-Web. For more information on HTTP see Internet Engineering Task Force ("IETF") Request For Comments ("RFC") 2068, incorporated herein by reference. File Transfer Protocol is a protocol that provides a way to access files on remote systems and is defined in RFC- 172, incorporated herein by reference. Gopher is a protocol similar to File Transfer Protocol and provides a series of menus linked to files containing actual hypertext.
Returning to FIG. 4A at Step 56, the proxy server 14 which logs the request in a request log. At Step 58, a test is conducted by the proxy server 14 to determine if the first network device 12 is allowed to use content conversion fimctionality without login information. In a preferred embodiment of the present invention, the proxy server 14 uses network addresses (e.g., Internet Protocol ("IP")) addresses) for the test at Step 58. As is known in the art, IP is an addressing protocol designed to route traffic within a network or between networks. IP is described in RFC-791, incorporated herein by reference. However, other tests could also be used to determine if a network device is allowed to use content conversion without login information.
If a network device is not allowed to use content conversion without login information, at Step 60 the proxy server 14 prompts the first network device 12 for login information and logs a network address (e.g., IP address) for the first network device 12. If the first network device 12 is allowed to use content conversion functionality without login information at Step 58, or login information was obtained at Step 60, at Step 62 the proxy server 14 creates a object-oriented data structure called a "metadata" object and a "datapipe" object.
In an exemplary preferred embodiment of the present invention, a metadata. object is a C++ object that conveys information such as request/response headers, conversion preferences and other information about a "databody" stored in a datapipe object. The datapipe object is also a C++ object, However, metadata objects and datapipe objects other than C++ objects could also be used. A databody is electronic document content such as hypertext markup languages (e.g., SGML, HTML, XML, VRML, etc.), text, graphical data, or graphics, animation, audio, video or other content that is stored in a datapipe object.
Table I illustrates an exemplary metadata. object-oriented interface for a metadata object and an exemplary data structure for the metadata object. In an exemplary preferred embodiment of the present invention, object interfaces are Common Object Request Broker Architecture ("CORBA") interfaces. As is known in the art, CORBA is an architecture for creating, distributing and managing distributed program objects. However, other object architectures could also be used (e.g., Component Object Model ("COM") or Distributed Component Object Model ("DCOM') interfaces). Other object-oriented data structures could also be used and the present invention is not limited to the metadata object data structure illustrated in Table 1.
@ by Spyglass, Inc.
H CORBA object interface for metadata object typedef sequence<octect> CCMDSEQ; interface CCMetaData void set (in string Category, in string Name, in string Value) Hcreates a new CCMetaData record raises (MDException); //error message in case of error void replace(in string Category, in string Name, in string Value) Hreplaces a value of a specified raises (MDException); // CCMetaData record void get(in string Category, in string Name, out string Value) //Gets a value of 1 " occurrence of a raises (MDException); // specified CCMetaDataRecord boolean exists(in string Category, in string Name)HChecks if a specified record exists void del (in string Category, in string Name) //Deletes 1s, occurrence of a CCMetaData record raises (MDException); void getByRank(out string Category, in string Name, out string Value)//Gets a value of 1 " occurrence raises (MDException); Hof a CCMetaData record void resetRank(); //clears category rank settings and frees associated memory raises (MDException); void appendRank(in string Category)//Adds a specified request category to end of a rank list raises (MDException); //The 1st category appended has highest rank void signset(in string Category, in string Name, in string Value)//Adds a specified record to a raises (MDException); Hconversion signature data object boolean SignatureValidate() //validate cache hits for a conversion signature raises (MDException); void serialized RequestM D(out CCMDSEQ sedalizedConvertedMD)//reserved for future use raises (MDException); void sedalizedSignatureMD(out CCMDSEQ SerializedSignatureMD)Ilreserved for future use raises (MDException); void debug RequestM D(in string FileName)//Outputs request-related metadata records raises (MDException); void debugResponseMD(in string FileName)//Outputs response-related metadata records raises (MDException); void debug SignatureMD(in string FileName)/Outputs signature-related metadata records raises (MDException); void impl_release(); Hrelease a ccmetadata record void impl_duplicate(); //duplicate a ccmetadata record Table 1. Table 2 illustrates an exemplary object-oriented interface for a databody and an exemplary data structure for the databody. However, other object interfaces and data structures could also be used and the present invention is not limited to the databody interface and data structures illustrated in Table 2. @ by Spyglass, Inc. typedef sequence <octect> CCDATASEQ; HCORBA object interface for databody interface CCOpData void impl_releaseo; void impL_duplicateo; 1; interface CCOpDataRaw: CCOpData I attribute string name; // name of the object attribute string type; // type of the object attribute CCDATASEQ data; I/CORBA sequence data for databody (e.g., hypertext) 1; Hdatabody data structure typedef struct -DATABODY char pData; / Pointer to data size-t nSize; / Size of body buffer 1 size - t nUsed; / Bytes in use / size t nMinGrow; / Minimum growth size DATABODY; Table 2.
Returning to FIG. 4A at Step 62, the proxy server 14 also creates a "datapipe" objectoriented object. The datapipe is an object-oriented object that can be read by mulitple readers, but written to by only one writer. In one preferred embodiment of the present invention, the datapipe object holds a databody including electronic document content.
Table 3 illustrates an exemplary object-oriented datapipe interface. However, other object interfaces could also be used and the present invention is not limited to the datapipe object illustrated in Table 3.
C by Spyglass, Inc.
// Datapipe buffer typedef sequence<octet> dpBuf-, H Datapipe reader interface Not thread safe Threads should not share a reader, but have their own readers interface dpReader H Release datapipe reader implementation void impl_releaseo; H Read from datapipe asynchronously Returns immediately with octets currently available up to sizeDesired Returns TRUE until EOF read Caller must free returned dpBuf dpBuf only valid while datapipe or dpReader reference held by caller boolean readAsync(out dpBuf output, in unsigned long sizeDesired) raises(d p Error); Read from datapipe synchronously Blocks until sizeDesired octets read, EOF read, or abort signaled Returns TRUE until EOF read H Caller must free returned dpBuf // dpBuf only valid while datapipe or dpReader reference held by caller boolean read(out dpBuf output, in unsigned long sizeDesired) raises(dpError); Read entire datapipe synchronously Blocks until all data available (EOF read), or abort signaled Caller must free returned dpBuf dpBuf only valid while datapipe or dpReader reference held by caller dpBuf readAll() raises(dpError); H Seek reader to new absolute file position Returns immediately Callers can seek to a desire file position before data is available Seeking past the EOF will cause an exception to be thrown on reading void seekAbs(in unsigned long filePos); // Seek reader to new relative file position H Returns immediately Returns new file position Callers can seek to a desire file position before data is available H Seeking past the EOF will cause an exception to be thrown on reading unsigned long seekRel(in long offset); Datapipe interface interface datapipe Duplicate datapipe Increments implementation reference count void impl-duplicateo; H Release reference to datapipe Decrements implementation reference count The datapipe will be destroyed when the reference count reaches 0 void impl-releaseo; H Create a datapipe reader // File position = 0 dpReader createReadero raises(dpError); Write input data to the end of the datapipe Data written is immediately available to all readers void write(in dpBuf input) raises(dpError); Write end of file to datapipe Releases any unused datapipe memory H All subsequent write operations will generate an exception void terminateo; // Set abort signal on datapipe H All subsequent read/write operations will generate an exception void aborto; H Get bytes available for reading in datapipe unsigned long getAvailableo; // Set datapipe size H Changes the size of pipe after creation Intended for use when pipe initially sized to 0 Note: will not size the pipe smaller than existing used size does not affect file position void setSize(in unsigned long newSize) raises(dpError); H Datapipe factory interface interface dpFactory Create a new datapipe object H Initial implementation reference count = I H Specifying a minGrow of 0 causes the datapipe size to double for each grow datapipe create(in unsigned long initialSize, in unsigned long minGrow) raises(d p Error); interface CCOpDataPipe: CCOpData attribute string name; attribute datapipe pipe; Table 3.
After creating the conversion objects, the proxy server 16 passes request/response data objects. For example, the proxy server 14 passes the request including the metadata object and the datapipe object to the transaction manager 44 through the datapipe object.
At Step 64, the transaction manager 44 adds user, device, site-specific, or other conversion preferences from the database 18 to the request metadata object. In a preferred embodiment of the present invention, the transaction manager 44 uses transfer protocol request headers to identify devices and an IP address and a user-name to identify a user. However, other identification methods could also be used. The transfer protocol request headers may include HTTP headers or Multipurpose Internet Mail Extension ("MIME') headers defined in RFC-2046, incorporated herein by reference.
At Step 66, the transaction manger 46 passes the request metadata object and datapipe object to the converter 46. At Step 68, the converter 46 creates a one or more conversion keys derived from the metadata object including user and device-identifiers and a siteidentifier using a request URL. A first conversion key is used to query the cache 50 for a converted or unconverted databody that will satisfy the request. However, other information could also be used to create the conversion key. A second conversion key is used to obtain conversion preferences from the database 18.
In a preferred embodiment of the present invention, the first and second conversion keys do not include the same information. The first conversion key used to query the cache 50 includes a URL plus additional information ftom the metadata object. The second conversion key used to query the database 18 may include a user-agent name, a user-name, or a URL may be used to query a database other than database 18.
At Step 70 of FIG. 413, a test is conducted by the converter 46 to determine if a "suitable" version of a converted databody for the request is already in the cache 50. In a preferred embodiment of the present invention, a suitable version of a converted databody is one that is not older than a predetermined date or time. However, other criteria could also be used to determine a suitable converted databody (e.g., criteria included in a conversion signature). If a suitable version of a converted databody exists in the cache 50, the converter 46 sends a datapipe object including the converted databody ftorn the cache 50 to the transaction manager 44 at Step 72. If a suitable converted version of a databody for the request is not already in the cache 50 at Step 72, a test is conducted at Step 74 to determine if an original unconverted databody is already stored in the cache 50. If so, at Step 76 converter 46 sends a datapipe object including the unconverted databody from the cache 50 to the content converter 16 for conversion.
If an original unconverted databody is not stored in the cache 50 at Step 74, (i.e., the cache 50 does not contain any databody matching the request), the converter 46 sends the metadata object and datapipe object associated with the request to the content converter 16 at Step 78. The content converter 16 converts the request metadata object and datapipe object if necessary, and returns it to the converter 46 at Step 80.
At Step 82 of FIG. 4C, the converter 46 invokes the client components 48 to send the request to a desired electronic document server on the computer network 20 (e.g., World- Wide-Web server on the Internet). At Step 84, the desired electronic document server on the computer network 20 returns an original electronic document to the converter 46 that is converted into a response databody in a response datapipe object and a response metatdata object (e.g., including response headers) by the client components 48.
At Step 86, the converter 46 saves the response databody as raw data and response metadata object including respsonse headers in the cache 50. Storing an unconverted response in the cache 50 may save transmission time when a network device makes a second request for an original electronic document, but with new conversion preferences. The unconverted response can then be used to create a converted response with new conversion preferences without contacting an electronic document again on the computer network 20.
At Step 88, the converter 46 sends the response databody stored in the response datapipe object to the content converter 16 for conversion. At Step 90, the content converter 16 performs any necessary conversions on the response metadata object and response databody in the response datapipe object and returns a converted response to the converter 46. At Step 92, the converter 46 sends a converted response including a converted databody in a datapipe object and a converted response metadata object to the cache 50 and to the transaction manager 44. Storing a converted response in the cache 50 saves processing time when a network device makes a second request for the same original electronic document with the same conversion preferences. A converted response can be returned without contacting an electronic document server again on the computer network 20.
At Step 94, the transaction manager 44 sends the converted response to the proxy server 14. At Step 96, the proxy server 14 sends the converted response to the first network device 12 via the user agent 38.
Exemplary Method 52 (FIG. 4) illustrates content conversion using the content conversion system 36 from FIG. 3. However, more or fewer steps can also be used with exemplary Method 52 and different content conversion system components could also be used. The exemplary preferred embodiment of the present invention is not limited to exemplary Method 52 or the content conversion system 36. Exemplary Content Converter In one exemplary preferred embodiment of the present invention, the content converter 16 is split into multiple component modules. FIG. 5 is a block diagram illustrating multiple components 108 of content converter 16. Content converter 16 includes a content conversion interface I 10, a content conversion director 112, an operations module 114, an operation sequencer 116, a conversion script 118, a content conversion trader 120 and multiple conversion operations 122, 124, 126, three of which are illustrated. However, the content converter 16 can also be split into more or fewer component modules, and the exemplary preferred embodiment of the content converter 16 is not limited to the components illustrated in FIG. 5.
Content conversion interface I 10 provides an interface between the content converter 16 and other components from the content conversion system 36 or the content conversion system 10. The content conversion director 112 directs content conversions. The operations module 114 is a library (e.g., a Dynamic Link Library) of ftinctions that includes conversion operations. The operation sequencer 116 controls conversion operations including those listed in a conversion script 118. The conversion script 118 is a file that specifies which conversion operations should be executed for a selected content types (but not all content types) and in what order. The conversion script 118 includes a conversion directive. The content conversion trader 120 is a data reference registry for available conversion operations.
A first conversion operation can locate a second conversion operation by importing an object reference from the content conversion trader 120. The content conversion operations 122, 124, 126 include multiple conversion operations and reside in the operations module 114.
Tables 4 and 5 illustrate exemplary content conversion operations for the content conversion operators 122, 124, 126. However, more or fewer content conversion operations or conversions for other content types (e.g. , VRML) could also be used. For example, another set of conversion operations may be used to convert HTML to an audio format (e.g., a wave format ".WAV"), or convert an audio format to HTML).
Table 4 illustrates exemplary HTML conversion operations. However, more or fewer HTML conversion operations could also be used, and the conversion operations can also include other hypertext conversion operations (e.g., XML, SGML, VRML, etc. ).
HTML Conversion Operation Description
DOM-CREATE Creates a Document Object Model ("DOM") from an HTML document DOM-EVAL Evaluates one or more expressions that select one or more hypertext elements from a DOM.
DOM-TEMPLATE Creates a new HTML document by inserting hypertext elements (e.g., selected by DOM_EVAL) into an HTML template.
HTML-ATTRIBUTE-ADD Adds a specified attribute and value to instances of a specified tag.
HTML-ATTRIBUTE-MAX Changes a value of a specified attribute to a maximum value in instances of a specified tag.
HTML-ATTRIBUTE-MIN Changes a value of a specified attribute to a minimum value in instances of a specified tag.
HTML-ATTRIBUTE-REMOVE Removes a specified attribute from instances of specified tag.
HTML-ATTRI BUTE-REP LACE Replaces a value for instances of a specified tag HTML ATTRIBUTE SCALE Scales a value for instances of a specified tag.
HTML COMMENT REMOVE Remove comments from an RTMIL document.
HTML-ELEMENT-REMOVE Removes instances of a specified HTML tag element.
HTML-IMAGE-ATTR-SCALE Scales width and height attributes of instances of an HTML IMG tag.
HTML-IMAGE-TO-LINK Removes an image from an HTML document and creates a link to the image.
HTML IMAGEMAP SCALE Scales instances of HTML image maps.
HTML-SCALE-IMAGE-QUALITY Scales an image to reduce its data size without changing the size of the image presented in an HTML document.
HTML_TABLE TRANSLATE Removes instances of table tags and reformats the contents of tables.
HTML TAG REMOVE Removes instances of a specified tag.
HIVITIL-TAG-REPLACE Replaces instances of a specified tag with a new tag.
Table 4.
Table 5 illustrates exemplary image conversion operations. However, more or fewer image conversion operations could also be used, and the conversion operations can also include other image conversion operations. The content converter 16 uses exemplary image conversion operators to convert images into an internal "raw image" format. The internal raw image format is used to quickly reduce and scale images, as well as convert one image format into another image format. However, the present invention is not limited to using a raw image format and other internal image formats could also be used.
Image Conversion Operation Description
PIREDUCE Reduce an image to a specified color depth.
P1 SCALE Scale an image.
PI CONVERT TO GRAY Convert a color image to a gray scale image.
BMP-TO-PI Convert a Bit-MaPed ("BMP") image format to a raw image format.
JPEG_TO_Pl Convert a Joint Pictures Expert Group ("JPEG") image format to a raw image format.
PI-TO-BMP Convert a raw image format to a 13MP image format.
Pl_TO_JPEG Convert a raw image format to a JPEG image format.
Table 5.
FIG. 6 is a flow diagram illustrating a Method 128 for content conversion with the content converter 16 multiple components 108 illustrated in FIG. 5. At Step 130, the content converter 16 receives a conversion request from the converter 46 (e.g., Step 88 of FIG. 4C) or from the proxy server 14 (e.g., at Step 30 of FIG. 2) at the content conversion interface 110. At Step 132, the content conversion interface 110 supplies an objectoriented interface to a request metadata object and a request datapipe object including a databody that interact with other objects including the conversion operations 122, 124, 126. In a preferred embodiment of the present invention, the object interface is a CORBA interface called an "Interface Design Language" interface. However, other object interfaces could also be used (e.g., -28- Component Object Model ("COM") or Distributed Component Object Model ("DCOW) interfaces). Table 6 illustrates an exemplary content conversion interface supplied by the content conversion interface 110.
0 by Spyglass, Inc.
//Content Conversion Interface - Interface Design Language interface ("IDL") module ContConv { // Operation exception reason codes enum opReason OP - FAILED, Operation failed.
OP MEMERR, H Out of virtual memory.
BA5 - DATA, H CCOpData was wrong type, or had bad data.
BAD IVIETADATA, H CCIVIetaData contained missing or bad data.
BAD7ARG H Argument string was incomplete or bad format.
Operation exception exception opError opReason reason; Reason code string message; Descriptive message.
interface CCOperation void Do(inout CCOpData data, inout CCMetaDataNS::CCMetaData metadata, in string arg) raises (opError); void Restarto; Table 6. After supplying the object interface content conversion interface, the content conversion interface I 10 sends the conversion request to the content conversion director 112. At Step 13 4, the content conversion director 112 calls the operation sequencer 116. In another embodiment of the present invention, a starting conversion component can also be specified in the request metadata object. By default, the operation sequencer 116 is the conversion component called to handle the conversion request. However, other content converter 16 components 108 can also be used. At Step 136, the operation sequencer 116 reads the request metadata object and creates one or more conversion keys to determine a list of conversion operations that need to be called and a sequence order in which the conversion operations should be executed. In one preferred embodiment of the present invention, the list is a "conversion directive" with a "conversion precedence." In another embodiment of the present invention the conversion directive is stored in the conversion script 118. The list and sequences can also be obtained from information in the database 18.
In a sequence beginning at Step 138, for operations in the list of conversion operations, the operation sequencer 116 obtains an object address of a selected conversion operation (e.g., 122, 124, 126) from the content conversion trader 120. At Step 140, the selected conversion operation is executed. The executed conversion operation modifies the request databody stored in a datapipe object and request metadata object, if necessary and returns control to the object sequencer 116. The sequence including Steps 138 and 140 is repeated until all conversions desired by the conversion request are completed when control is returned to the content conversion director 112. Table 7 illustrates exemplary source code to obtain an address for an
object-oriented conversion method from the content conversion trader 120 and illustrates a generic objectoriented class for conversion operations. However, object-oriented methods code and other object-oriented classes could also be used. A name for a desired conversion operation is substituted for OpName in Table 7 (e.g., OpName = HTNE-COMMENT-REMOVE, for removing comments from an HTNE document). by Spyglass, Inc.
creates an instance of Content Conversion Trader 120 ('CCTrader" CCTrader pCCTrader = CCTrader:: instanceo; ContConv::CCOperation-var pOperation = PCCTrader->ImportOperation("operabon-name"); //e.g., HTML-COMMENT-REMOVE if(!CORBA::is_ni1(pOperation)) POperation->Do(data, metadata, arg); Ygeneric object-oriented class for a conversion operation class OpNarne: public CCOperation]PL H e.g., class HMTL-COMMENT-REMOVE public: OpNarne(const char OpName = "Intemal-OpName"); fle.g., OpNarne="spyga-cornrnent-rernove" Virtual -OpNarneo {); Void Do(ContConv::CCOpData, &data, CCMetaDataN S:: CCMeta Data &rnetadata, Const char arg); Table 7.
At Step 142, the content conversion director 112 sends a converted metadata object and a converted databody in a datapipe object to the content conversion interface I 10. At Step 144, content conversion interface returns the converted metadata object and converted databody in the datapipe object to the converter 46 (e.g., Step 90, FIG. 4C) or to the proxy server 14 (e.g., Step 34 of FIG. 2).
FIG. 5 and FIG. 6 illustrate one exemplary preferred embodiment of the present invention for content conversion in which the content converter 16 has been split into multiple components 108. However, this one exemplary preferred embodiment of the present invention is not limited to the multiple components illustrated in FIG. 5 or the steps illustrated with Method 128 of FIG. 6 and more or fewer conversion steps could also be used. In addition, the multiple content converter 16 components 108 of FIG. 5 can also be used for content converter 16 in content conversion system 10 illustrated in FIG. 1, or content conversion system illustrated in FIG. 3. Content conversion using conversion preferences In a preferred embodiment of the present invention, content conversion of an original electronic document is based on one or more conversion preferences. The conversion preferences are organized into multiple categories including user-conversion preferences, device-conversion preferences or site-specific conversion preferences or other conversion preferences. However, more or fewer conversion preferences could also be used.
After a network device with a smaller display requests an electronic document, the content converter 16 uses one or more sets of conversion preferences to determine how to convert the original electronic document into a converted electronic document usable by the network device.
FIG. 7 is a block diagram illustrating a Method 146 for content conversion using conversion preferences. At Step 148, content converter 16 receives a request for an original electronic document from the first network device 12 (e.g., via the proxy server 14 FIG. 1). The request includes a request metadata object with request headers (e.g., HTTP headers or NRME headers and IP headers), a request URL and other information and a datapipe object. At Step 150, conversion information is extracted from the request. In one exemplary preferred embodiment of the present invention, a user-identifier, a device-identifier, and a site- identifier based on a request URL are extracted from the request. However, other information and identifiers could also be extracted. In such an embodiment, transfer protocol headers from the request headers (e.g., HTTP headers or NHME headers) are used to identify a device-type and to identify a request URL. An IP address from a request header is used to identify a user location from the first network device 12 making the request. However, other information could also be used to identify a user, a device, or a site.
At Step 152, content converter 16 creates one or more conversion keys from the extracted conversion information to access one or more conversion preferences stored in the database 18. In one exemplary preferred embodiment of the present invention multiple conversion keys are created from a user-identifier, a device-identifier and site- identifier based on a request URL. However, other conversions keys could also be created (e.g., a useridentifier and device-identifier, a user- identifier and a site-identifier, or device-identifier and a site- identifier, etc.). In addition, access to the one or more conversion preferences could also be from a source other than the database 18 (e.g., obtained from another server on another network or from another network device).
At Step 154, the conversion key to is used to obtain one or more conversion preferences for the request. In one exemplary preferred embodiment or the present invention user, device and site-specific (i.e., a URL) conversion preferences are obtained. However, more or fewer preferences could also be obtained. At Step 156, a conversion directive is created with conversion precedence from the obtained conversion preferences. In one preferred embodiment of the present invention, the conversion directive is stored in a metadata object. However, other conversion directive types and storage can also be used. The conversion directive is stored in persistent storage (e.g., the database 18, a user's hard drive, etc.) for later use. A number of different conversion directives can be created at Step 156, dependent on the conversion preferences being used including those from conversion script 118. Thus, a number of permutations are typically available to create a conversion directive since at least three types of conversion preferences are typically used (e.g., user, device and site-specific). Using more than three types of conversion preferences provides additional conversion permutations from which a conversion directive can be created.
The conversion directive based on selectable conversion preferences can be used to instruct the content converter 16 to convert an electronic document differently for different devices (e.g., a first device has a color display while a second device has a monochrome display; convert an electronic document differently for different users (e.g., a first user prefers to view images in a low resolution display mode, while another user desires to view images in a high resolution display mode); and convert an electronic document different for different sites (e.g., a first site may include electronic documents with a large number of images, while a second site may include only HTML documents with text and a few images.
The first site may require a user's device set one or more viewing parameters to view the images to be displayed).
At Step 158, the content converter 16 applies the conversion directive to convert an electronic document retrieved from an electronic document server on the computer network 20. The conversion precedence in the conversion directive provides a precedence hierarchy for content conversion.
In one exemplary embodiment of the present invention, user-conversion preferences are at a highest level in the precedence hierarchy, followed by device-conversion preferences, followed by site-specific conversion preferences. If user-conversion preferences are available, then they are used before device-conversion preferences or site-specific conversion preferences based on the exemplary hierarchy. If no user-conversion preferences are available, device-conversion preferences are used before site-specific conversion preferences based on the exemplary hierarchy. In another embodiment of the present invention, the precedence hierarchy includes different preference precedence (e.g., site-specific conversion preferences may have a higher precedence than user-conversion preferences based on the characteristics of a network site). In one preferred embodiment of the present invention, a preference hierarchy is statically assigned by a system administrator and cannot be changed by a user. In another embodiment of the present invention, the preference hierarchy may be dynamically changed by a user.
In cases where there is a conversion preference conflict, the content converter 16 determines which preferences have priority. An HTML site may require that a user's device set display resolution to high resolution mode to allow images to be adequately displayed. A site-specific conversion preference is then provided by the HTML site to set display resolution to high resolution. However, a user may not like the high resolution mode to be used on the device, and provide a user-conversion preference for medium resolution mode. A conflict results, and the content converter 16 resolves the conflict. If user-conversion preferences have higher precedence, then the user-conversion preference (i.e., medium resolution) is used over the site-specific conversion preference. If site-specific conversion preferences have higher precedence, then the site-specific conversion preferences would be used over the user conversion preferences (i.e., high resolution).
As an example of the use of Method 146, the first network device 12, a Personal Digital Assistant ("PDA"), with an IP address of 128.10.20.30, requests a hypertext document with the URL "http://www.spyglass.com/info. htrnl." Using Method 146, at Step 148 the content converter 16 receives a request for an original electronic document from the first network device 12 (e.g., via the proxy server 14 or the converter 46). The metadata object includes one or more request headers (e.g., HTTP or MIME) including an IP address of 128.10.20.30, a device-identifier of "PDA" and a URL component of 66www. spyglass. comlinfo.litnil" and a datapipe object for a databody. At Step 150, conversion information is extracted from the request. A user-identifier of 128.10.20.30, a device-identifier of PDA and a site-identifier including request URL of "www.spyglass.com" is extracted from the request headers.
At Step 152, one or more conversion keys are created from the extracted information to access one or more conversion preferences stored in the database 18. In one exemplary preferred embodiment of the present invention, a first conversion key is created from the user-identifier 128. 10.20.30 mapped to a user-name (e.g., "kenc"). A second conversion key is created from a device-identifier of PDA. A third conversion key is created with a siteidentifier request URL "www.spyglass.com." However, more or fewer conversion keys could also be created.
At Step 154, the one or more conversion keys are used to obtain one or more conversion preferences for the request from the database 18. Table 8 illustrates exemplary preferences extracted from the database 18 for the request.
Type of Conversion Preference P-r-eferences User Remove comments in hypertext documents. ID = 128.10.20.30,kenc Change a display font to 'Aria[" in hypertext documents. Site-Specific None. ID = www.spyglass.com Device Convert images to grayscale. ID = PDA Scale images to 50% of original size.
Table 8.
Table 8 lists exemplary conversion preferences stored in non-precedence order in the database 18 so conversion precedence must be determined (i.e. , user-converson preferences have highest precedence, device-conversion preferences have next highest preferences and site-specific conversion preferences have lowest precedence). However, in another preferred embodiment of the present invention, conversion preferences are stored in precedence order.
At Step 156, a conversion directive is created with conversion precedence from the obtained conversion preferences. An exemplary conversion directive for the conversion preferences shown in Table 8 is illustrated in Table 9. There are no conflicts to resolve in this example. C by Spyglass, Inc.
spygaLremove-comments:yes spyga_change_attribute:font=adaI spyga_convertto-gray:yes spyga_scale image:scaie=50% Table 9.
Table 9 illustrates an exemplary conversion directive in precedence order. The user preferences are first (spyga,_remove-comments, spyga,_changeattribute:font--"arial"), followed by the device preferences (spyga,. _convert_to_gray:yes, spyga,__scale-image:scale="50%), followed by sitespecific conversion preferences (i.e., none). The user preference to remove comments is executed before the user preference to change the display font to "Arial."
The conversion directive (e.g., Table 8) created at Step 156 of FIG. 7 is applied to an exemplary original electronic document at Step 158. An exemplary original HTML hypertext document is illustrated in Table 10. However, a conversion directive including the exemplary conversion directive from Table 9 can also be applied to other hypertext document types (e.g., XML, SGML or WWI).
<1 Example.html> <HTML> <1 This is an HTML comment> <TITLE> Example<TITLE> <BODY> This is a conversion example. <BR> <!new line> <1 Display a sample image> <IMG src="hftp://www.spyglass.con-dglasses.jpg"> <BR> This is a sample image. </BODY> </HMTL> Table 10.
The first network device 12 requests the hypertext document called "example.html" illustrated in Table 10 from the World-Wide-Web site "www. spyglass.com. Table 11 illustrates an exemplary converted electronic document after application of Step 158 of Method 146 (FIG. 7). HTML comments have been removed from the HTML document in Table 10 based on the first user preference illustrated in Table 9 (i.e., remove-comments).
<HTML> <TITLE> Example<rl-ITLE> <FONT FACE=Arial"> <BODY> This is a conversion example. <13R> <IMG src="hftp://www.spyglass.com/glasses.jpg"> <BR> This is a sample image. </BODY> </HTML> Table 11.
On line 3 of Table 11, the display font face has been changed to Arial with the HTML tag "<FONT FACE=="Arial'V'. Note that this tag does not exist in Table 10. 'Me image in Table 11, "glasses.jpg," is converted by the content converter 16 when the image is requested using conversion preferences store in the database 18. The conversion of the image is "invisible" to the user.
FIGS. 8A and 8B are block diagrams of screen displays 160, 162 illustrating content conversion with preferences. FIG. 8A illustrates a block diagram of a screen display 160 on a SuperVGA resolution monitor of the original electronic document from Table 10 before application of content conversion Method 146. The image "glasses.jpg" from Table 8 is a color image of sunglasses that are "red" in color. The default font for text displayed in FIG. 8A is a Times Roman font. The HTML document has several comments indicated by HTML comment tags FIG. 8B illustrates a block diagram of a screen display 162 for a converted electronic document for a PDA first network device 12 from Table 11 after application of content conversion Method 146. The PDA display has less than SuperVGA resolution and is grayscale. The default display font for text displayed has been changed to Arial as is illustrated in FIG. 8B. The color image in the file "glassesjpg" has been changed from color to grayscale and has been reduced in size by 50% by content converter 16. In FIG. 8A, a browser uses the HTML image tag "<IMG src="hftp://www.spyglass.con-dglasses.jpg">" to display the red sunglasses image. In FIG. 8B, a browser in PDA first network device 12 parses the HTML image tag and requests the image. The content converter 16 converts the image based on conversion preferences stored in the database 18, and returns a converted image for display to the PDA first network 12 via the proxy server 14. The proxy server 14 returns a converted grayscale image reduced in size by 50%. The PDA first network device 12 receives a converted image as a result of requesting an original image without additional action by the PDA first network device.
If the requested "glasses image" was part of an image map, a converted HTML tag.<I MG src="hftp://Www.spyg lass. com/glasses-Spyg$(spyga-imageaftr-scale=50) jpg">" as a "virtual URL" is added to the HTML document in Table 11. For example, the virtual URL "glasses-Spyg$(spyga-image-attrscale=50)" within the HTML image tag allows an original image from an image map to be scaled to 50% of its original size with the virtual URL. The conversion information within the virtual URL text "image-name_spyg$(. ..).imagq_type" is used to scale the image to match the converted image map.
In a preferred embodiment of the present invention, the content converter 16 is closely associated with the proxy server 14. The proxy server 14 acts as an intermediary between a network device requesting an original electronic document and an electronic document server on a network providing an original electronic document. The proxy server 14 intercepts requests for hypertext documents and for hyperlinks within hypertext documents. As a result, when a browser on a user device parses the HTML image tag"<IMG src="http://www.spyglass.com/glasses.jpg">", the proxy server 14 provides a converted grayscale image reduce in size by 50% instead of the original image referenced in the original electronic document with the HTML by calling the content converter 16.
In a preferred embodiment of the present invention, a user sets desired userconversion preferences by creating a user-conversion preference file on the proxy server 14. In another embodiment of the present invention, a user-conversion preference file is stored on a user device and retrieved by the content converter 16 or the proxy server 14. In yet another embodiment of the present invention, a user-conversion preference file may be stored on a specific site (e.g., on an Internet Service Provider site) and retrieved by the content converter 16 or the proxy server 14. Device-conversion preferences and site- specific preference files are typically created by a system administrator and not by user (e.g. with the administrative interface 38 of FIG. 3).
However, a user may override the device and site-specific conversion preferences as was discussed above, provided user-conversion preferences have the highest precedence in the conversion precedence scheme. In another embodiment of the present invention, a user is allowed to provide device-conversion preferences or site-specific conversion preferences.
The content conversion methods and systems described herein allow selection of conversion preferences to provide a customized converted electronic document that is appropriate for display on a hand-held device or other desired devices with displays with less than SuperVGA resolution. However, a converted electronic document can also be displayed on a display with SuperVGA resolution. Text, images, as well as additional electronic document content (e.g., hypertext tags hypertext tag parameters, audio video, etc.) are converted for most original electronic documents obtained with SuperVGA resolution from content servers on the World-Wide-Web via the Internet or an intranet. The content conversion methods and systems described herein provide flexibility for new devices and are easily extended by adding new content conversion operation modules for new content that may become available.
In view of the wide variety of embodiments to which the principles of the present invention can be applied, it should be understood that the illustrated embodiments are exemplary only, and should not be taken as limiting the scope of the present invention. For example, the steps of the flow diagrams may be taken in sequences other than those described, and more or fewer elements may be used in the block diagrams. The claims should not be read as limited to the described order or elements unless explicitly stated to that effect.

Claims (25)

  1. CLAIMS 1. A method of content conversion in a first computer network with
    a plurality of network devices connected to a second computer network with a plurality of network devices, comprising the following steps: receiving a request for an original electronic document on a second network device on the first computer network from a first network device on the first computer network; extracting conversion information from the request; creating one or more conversion keys from the extracted conversion information to access one or more of a plurality of conversion preferences stored in a database; obtaining one or more of the plurality of conversion preferences from the database using the one or more conversion keys; and creating a conversion directive with a conversion precedence to convert an original electronic document into a converted electronic document.
  2. 2. A method as claimed in Claim I ftirther comprising: sending the request for the original electronic document from the second network device to a third network device on the second network; receiving a requested original electronic document on the second network device from the third network device; converting the requested original electronic document using the conversion directive, thereby creating a converted electronic document; and sending the converted electronic document from the second network device to the first network device.
  3. 3. A method as claimed in Claim I or 2, ftirther comprising storing the conversion directive in persistent storage for later use.
  4. 4. A method as claimed in Claim 1, 2 or 3, wherein the conversion precedence includes from highest-to-lowest precedence, user-conversion preferences, device-conversion preferences and site-specific conversion preferences.
  5. 5. A method as claimed in any preceding claim, wherein the one or more conversion keys include individual conversion keys to obtain userconversion preferences, deviceconversion preferences and site-specific conversion preferences.
  6. 6. A method as claimed in any preceding claim, wherein the conversion directive includes a list of conversion preferences and conversion precedence indicating an ordering in which the list of conversion preferences are to be applied to an original electronic document.
  7. 7. A method as claimed in any preceding claim, wherein the original electronic document is a Hyper Text Mark-up Language document or an Extensible Markup Language document.
  8. 8. A method as claimed in any preceding claim, wherein the first network device is a hand-held device and the second network device is a content converter.
  9. 9. A method as claimed in any preceding claim, wherein the step of obtaining one or more of the plurality of conversion preferences includes obtaining conversion preferences for: converting a hypertext document into a document object model; adding a specified attribute to instances of a specified hypertext tag; changing a value of a specified attribute to a maximum value in instances of a specified hypertext tag; changing a value of a specified attribute to a minimum value in instances of a specified hypertext tag; removing a specified attribute from instances of a specified hypertext tag; replacing values of a specified attribute in instances of a specified hypertext tag; scaling a value of a specified attribute in instances of a specified hypertext tag; removing instances of a specified attribute in instances of a specified hypertext tag; scaling width and height of an image attribute in instances of a specified hypertext tag; removing a reference to an image and replacing the reference with a hyperlink to the image in a hypertext image tag; scaling instances of an image map in a hypertext tag; scaling an image to reduce its data size without changing the size of the image; removing hypertext table tags and reformatting the contents of tables; removing instances of a specified hypertext tag; or replacing instances of a specified hyperlext tag with a different hypertext tag for a hypertext document.
  10. 10. A method as claimed in any preceding claim, wherein the step of obtaining one or more of the plurality of conversion preferences from the database using the conversion key includes obtaining image conversion preferences for: reducing an image to a specified color depth; scaling an image; converting a color image to a gray scale image; converting a bitmap format to a raw image format; converting a joint pictures expert group format to a raw image format; converting a raw image format to a bit-map format; or converting a raw image format into a joint pictures expert group format for an image.
  11. 11. A method of content conversion in a first computer network with a plurality of network devices connected to a second computer network with a plurality of network devices, comprising the following steps: receiving an original electronic document on a second network device on the first network from a third network device on the second network; obtaining a conversion directive with a conversion precedence on the second network device, wherein the conversion directive includes a list of conversion preferences and uses conversion precedence indicating an ordering in which the list of conversion preferences are to be applied to the original electronic document; and converting the original electronic document into a converted electronic document using the conversion directive.
  12. 12. A method as claimed in Claim 11, further comprising sending the converted electronic document to a first network device on the first network, wherein the first network device displays the converted electronic document.
  13. 13. A method as claimed in Claim 11 or 12 wherein the conversion precedence includes user- conversion preferences, device-conversion preferences and site-specific conversion preferences.
  14. 14. A method as claimed in Claim 11, 12 or 13, wherein the converted electronic document is suitable for display on a hand-held device with less than SuperVGA resolution.
  15. 15. A method as claimed in any of Claims I I to 14, wherein the first network device is a hand-held device and the second network device is a content converter.
  16. 16. Computer software adapted when run in data processing means to carry out a method as claimed in any preceding claim.
  17. 17. Computer software as claimed in claim 16, recorded on a computer readable medium.
  18. 18. A content conversion system comprising, in combination: a content converter for converting an original electronic document into a converted electronic document for a desired device based on a content conversion directive; a database for storing a plurality of conversion preferences used for content conversion; a proxy server for communicating with a plurality of network devices making requests for original electronic documents, communicating with the context converter, and with a plurality of content servers on a computer network providing original electronic documents; and a content conversion directive with a conversion precedence created from one or more of the plurality of conversion preferences from the database for converting an original electronic document into a converted electronic document.
  19. 19. A system as claimed in Claim 18, wherein the plurality of conversion preferences include any of. user-conversion preferences, deviceconversion preferences or site-specific conversion preferences.
  20. 20. A system as claimed in Claim 18 or 19, wherein the database for storing a plurality of conversion preferences used for content conversion includes storing conversion preferences for: converting a hypertext document to a document object model; adding a specified attribute to instances of a specified hypertext tag; changing a value of a specified attribute to a maximum value in instances of a specified hypertext tag; changing a value of a specified attribute to a minimum value in instances of a specified hypertext tag; removing a specified attribute from instances of a specified hypertext tag; replacing values of a specified attribute in instances of a specified hypertext tag; scaling a value of a specified attribute in instances of a specified hypertext tag; removing instances of a specified attribute in instances of a specified hypertext tag; scaling width and height of an image attribute in instances of a specified hypertext tag; removing a reference to an image and replacing the reference with a hyperlink to the image in a hypertext image tag; scaling instances of an image map in a hypertext tag; scaling an image to reduce its data size without changing the size of the image; removing hypertext table tags and reformatting the contents of tables; removing instances of a specified hypertext tag; or replacing instances of a specified hypertext tag with a different hypertext tag conversion preferences; reducing an image to a specified color depth; scaling an image; converting a color image to a gray scale image; converting a bitmap format to a raw image format; converting a joint pictures expert group format to a raw image format; converting a raw image format to a bit-map format; or converting a raw image format into a joint pictures expert group format.
  21. 21. Computer software which when run on data processing means will cause such data processing means to operate as a system as claimed in Claim 18, 19 or 20.
  22. 22. Computer software as claimed in Claim 21, recorded on a computer readable medium.
  23. 23. A method of content conversion, substantially as hereinbefore described with reference to the accompanying drawings.
  24. 24. A content conversion system, substantially as hereinbefore described with reference to the accompanying drawings.
  25. 25. Computer software, substantially as hereinbefore described with reference to the accompanying drawings.
GB9918517A 1998-08-05 1999-08-05 Content conversion of electronic documents Withdrawn GB2344197A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12931698A 1998-08-05 1998-08-05

Publications (2)

Publication Number Publication Date
GB9918517D0 GB9918517D0 (en) 1999-10-06
GB2344197A true GB2344197A (en) 2000-05-31

Family

ID=22439414

Family Applications (1)

Application Number Title Priority Date Filing Date
GB9918517A Withdrawn GB2344197A (en) 1998-08-05 1999-08-05 Content conversion of electronic documents

Country Status (3)

Country Link
JP (1) JP2000090001A (en)
DE (1) DE19936314A1 (en)
GB (1) GB2344197A (en)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2358717A (en) * 2000-01-25 2001-08-01 Gordon Ross Methods for enhanced information exchange and transactions within multi-device environments
GB2367643A (en) * 2000-09-14 2002-04-10 Wecomm Ltd Multi-platform display distribution
EP1248207A1 (en) * 2001-04-03 2002-10-09 Hewlett-Packard Company A method of and an apparatus for obtaining user-specific information from a source database and a web resource
KR20030057241A (en) * 2001-12-28 2003-07-04 유비퀵스(주) Web-page converter and method for mobile web clients considering repeated grammatical pattern
GB2397480A (en) * 2003-01-15 2004-07-21 Quickstone Technologies Ltd Communication of a high resolution image to a low resolution display device
FR2855284A1 (en) * 2003-05-21 2004-11-26 Siget Innovation Information receiving and distributing system for e.g. Internet, has transferring unit with unit to process information based on original format of information, standard format and information description data
US7043575B2 (en) 2001-04-03 2006-05-09 Hewlett-Packard Development Company, L.P. Bus function authentication method, apparatus and computer program
US7305453B2 (en) 2001-07-03 2007-12-04 Fujitsu Limited Contents conversion method and server
US7584423B2 (en) 2000-06-12 2009-09-01 Gary Rohrabaugh Method, proxy and system to support full-page web browsing on hand-held devices
WO2010004659A1 (en) * 2008-07-11 2010-01-14 Telefonaktiebolaget L M Ericsson (Publ) Multimedia gateway and control method thereof
US7690018B2 (en) 2001-08-31 2010-03-30 Canon Kabushiki Kaisha Data processing apparatus and method
US7801958B1 (en) * 2000-10-30 2010-09-21 Nokia Corporation Content converter portal
FR2958768A1 (en) * 2010-04-12 2011-10-14 Romain Zylik INVENTION IMPROVING INTERNET DISSEMINATION AND OPERATION OF WEB CONTENT ON LARGE SIZE SCREENS, MAKING COMPATIBLE HIGH DEFINITION WEBSITES
US8135860B1 (en) 2000-07-20 2012-03-13 Alcatel Lucent Content interpolating web proxy server
US8731097B2 (en) 2002-06-07 2014-05-20 Siemens Aktiengesellschaft Transmission of mms messages with the conversion of data types and/or data formats

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU3953601A (en) * 2000-04-04 2001-10-15 Dimon-Hugbunadarhus Ehf. A system for wireless communication of data between a web server and a device using a wireless application protocol
JP3941340B2 (en) * 2000-05-17 2007-07-04 富士ゼロックス株式会社 Document processing device
KR100460276B1 (en) * 2000-06-10 2004-12-04 유미특허법인 An internet service apparatus and service method
HUP0002471A2 (en) * 2000-06-28 2002-03-28 Rezső Dunay Method and apparatus for access to information of network data source
JP2002099542A (en) * 2000-09-25 2002-04-05 Kiyoshi Odajima Information processing system
US6834297B1 (en) * 2000-10-06 2004-12-21 Redline Networks, Inc. Web resource transfer acceleration system and method
DE10053738A1 (en) * 2000-10-30 2002-05-02 Starzone Gmbh Process for linking different target groups as well as a suitable system for this
JP3782685B2 (en) * 2000-12-15 2006-06-07 富士写真フイルム株式会社 Image server, client device, and control method thereof
WO2002050719A2 (en) * 2000-12-18 2002-06-27 Kargo, Inc. A system and method for delivering content to mobile devices
US6407680B1 (en) 2000-12-22 2002-06-18 Generic Media, Inc. Distributed on-demand media transcoding system and method
JP2003030039A (en) * 2001-04-12 2003-01-31 Matsushita Electric Ind Co Ltd Structured document distribution device and structured document distribution system
US7584418B2 (en) * 2001-05-31 2009-09-01 Oracle International Corporation Methods, systems, and articles of manufacture for prefabricating an information page
JP2003150496A (en) * 2001-11-16 2003-05-23 Hitachi Software Eng Co Ltd DISTRIBUTION METHOD, SYSTEM, SENDING AND RECEIVING TERMINAL DEVICE AND DISTRIBUTION RELAY DEVICE FOR Web CONTENTS
WO2003085624A1 (en) * 2002-04-05 2003-10-16 Unbounded Access Ltd. Networked accessibility enhancer system
KR20030095868A (en) * 2002-06-15 2003-12-24 (주) 고미드 Web-contents display apparatus and method in mobile communication terminal such as pda
US20040098463A1 (en) * 2002-11-19 2004-05-20 Bo Shen Transcoding-enabled caching proxy and method thereof
US7610400B2 (en) 2004-11-23 2009-10-27 Juniper Networks, Inc. Rule-based networking device
JP4534758B2 (en) * 2004-12-24 2010-09-01 富士ゼロックス株式会社 Information processing apparatus, information processing method, information processing program, and peer-to-peer system
US7796837B2 (en) * 2005-09-22 2010-09-14 Google Inc. Processing an image map for display on computing device
JP4832933B2 (en) * 2006-03-17 2011-12-07 シャープ株式会社 COMMUNICATION PROGRAM, COMMUNICATION METHOD, COMMUNICATION TERMINAL DEVICE, AND DATA CONVERSION DEVICE
JP2008198094A (en) * 2007-02-15 2008-08-28 Nec Fielding Ltd Electronic approval system and electronic approval method using same system
JP2008210394A (en) * 2008-03-17 2008-09-11 Digital Electronics Corp Communication system for control, and computer-readable recording medium with communication program for control recorded thereon
US8706911B2 (en) 2010-01-27 2014-04-22 Industrial Technology Research Institute Power saving display information converting system and method
US9521176B2 (en) 2014-05-21 2016-12-13 Sony Corporation System, method, and computer program product for media publishing request processing
CN110991145A (en) * 2019-12-10 2020-04-10 深圳市兴之佳科技有限公司 Document conversion method and device, electronic equipment and storage medium

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997017662A1 (en) * 1995-11-06 1997-05-15 C/Net, Inc. Method and apparatus for server-independent caching of dynamically-generated customized pages
WO1997018516A1 (en) * 1995-11-13 1997-05-22 Compuserve Incorporated Integrated multilingual browser
WO1997018635A2 (en) * 1995-11-14 1997-05-22 International Business Machines Corporation Multiprotocol communication between a generic web browser and several access servers
EP0778534A1 (en) * 1995-12-08 1997-06-11 Sun Microsystems, Inc. System and method for automatically adding informational hypertext links to received documents
US5742762A (en) * 1995-05-19 1998-04-21 Telogy Networks, Inc. Network management gateway
WO1998045793A1 (en) * 1997-04-08 1998-10-15 Shopnow.Com Inc. Method and system for injecting code to conditionally incorporate a user interface component in an html document
GB2329310A (en) * 1997-09-11 1999-03-17 Ibm HTTP Caching Proxy, to Filter and Control Display of Data in a Web Browser
EP0926610A1 (en) * 1997-12-19 1999-06-30 Infosis Group Ltd. Publication file conversion and display
WO1999035802A2 (en) * 1998-01-07 1999-07-15 Microsoft Corp System for delivering data content over a low bit rate transmission channel
EP0947935A2 (en) * 1998-03-30 1999-10-06 International Business Machines Corporation System and method for ascertaining and displaying connection-related performance data in networks
WO1999057657A1 (en) * 1998-05-04 1999-11-11 Lextron Systems, Inc. Tailoring data and transmission protocol for efficient interactive data transactions over wide-area networks
GB2339374A (en) * 1998-07-06 2000-01-19 Ibm Display screen and window size related web page adaptation system

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5742762A (en) * 1995-05-19 1998-04-21 Telogy Networks, Inc. Network management gateway
WO1997017662A1 (en) * 1995-11-06 1997-05-15 C/Net, Inc. Method and apparatus for server-independent caching of dynamically-generated customized pages
WO1997018516A1 (en) * 1995-11-13 1997-05-22 Compuserve Incorporated Integrated multilingual browser
WO1997018635A2 (en) * 1995-11-14 1997-05-22 International Business Machines Corporation Multiprotocol communication between a generic web browser and several access servers
EP0778534A1 (en) * 1995-12-08 1997-06-11 Sun Microsystems, Inc. System and method for automatically adding informational hypertext links to received documents
WO1998045793A1 (en) * 1997-04-08 1998-10-15 Shopnow.Com Inc. Method and system for injecting code to conditionally incorporate a user interface component in an html document
GB2329310A (en) * 1997-09-11 1999-03-17 Ibm HTTP Caching Proxy, to Filter and Control Display of Data in a Web Browser
EP0926610A1 (en) * 1997-12-19 1999-06-30 Infosis Group Ltd. Publication file conversion and display
WO1999035802A2 (en) * 1998-01-07 1999-07-15 Microsoft Corp System for delivering data content over a low bit rate transmission channel
EP0947935A2 (en) * 1998-03-30 1999-10-06 International Business Machines Corporation System and method for ascertaining and displaying connection-related performance data in networks
WO1999057657A1 (en) * 1998-05-04 1999-11-11 Lextron Systems, Inc. Tailoring data and transmission protocol for efficient interactive data transactions over wide-area networks
GB2339374A (en) * 1998-07-06 2000-01-19 Ibm Display screen and window size related web page adaptation system

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2358717A (en) * 2000-01-25 2001-08-01 Gordon Ross Methods for enhanced information exchange and transactions within multi-device environments
US7823083B2 (en) 2000-06-12 2010-10-26 Softview Llc Method, browser client and apparatus to support full-page web browsing on hand-held devices
US10394934B2 (en) 2000-06-12 2019-08-27 Softview, L.L.C. Scalable display of internet content on mobile devices
US10083154B2 (en) 2000-06-12 2018-09-25 Softview, L.L.C. Scalable display of internet content on mobile devices
US8533628B2 (en) 2000-06-12 2013-09-10 Softview Llc Method, apparatus, and browser to support full-page web browsing on hand-held wireless devices
US8145995B2 (en) 2000-06-12 2012-03-27 Softview L.L.C. Scalable display of internet content on mobile devices
US7844889B2 (en) 2000-06-12 2010-11-30 Softview Llc Resolution independent display of internet content
US7831926B2 (en) 2000-06-12 2010-11-09 Softview Llc Scalable display of internet content on mobile devices
US7584423B2 (en) 2000-06-12 2009-09-01 Gary Rohrabaugh Method, proxy and system to support full-page web browsing on hand-held devices
US8135860B1 (en) 2000-07-20 2012-03-13 Alcatel Lucent Content interpolating web proxy server
GB2367643B (en) * 2000-09-14 2005-03-30 Wecomm Ltd Distributing displayable data
GB2367643A (en) * 2000-09-14 2002-04-10 Wecomm Ltd Multi-platform display distribution
US7801958B1 (en) * 2000-10-30 2010-09-21 Nokia Corporation Content converter portal
US7043575B2 (en) 2001-04-03 2006-05-09 Hewlett-Packard Development Company, L.P. Bus function authentication method, apparatus and computer program
EP1248207A1 (en) * 2001-04-03 2002-10-09 Hewlett-Packard Company A method of and an apparatus for obtaining user-specific information from a source database and a web resource
US7305453B2 (en) 2001-07-03 2007-12-04 Fujitsu Limited Contents conversion method and server
US7690018B2 (en) 2001-08-31 2010-03-30 Canon Kabushiki Kaisha Data processing apparatus and method
KR20030057241A (en) * 2001-12-28 2003-07-04 유비퀵스(주) Web-page converter and method for mobile web clients considering repeated grammatical pattern
US8731097B2 (en) 2002-06-07 2014-05-20 Siemens Aktiengesellschaft Transmission of mms messages with the conversion of data types and/or data formats
GB2397480A (en) * 2003-01-15 2004-07-21 Quickstone Technologies Ltd Communication of a high resolution image to a low resolution display device
FR2855284A1 (en) * 2003-05-21 2004-11-26 Siget Innovation Information receiving and distributing system for e.g. Internet, has transferring unit with unit to process information based on original format of information, standard format and information description data
WO2010004659A1 (en) * 2008-07-11 2010-01-14 Telefonaktiebolaget L M Ericsson (Publ) Multimedia gateway and control method thereof
WO2011128528A1 (en) * 2010-04-12 2011-10-20 Romain Zylik So-called hd-web method for high-definition and all-screen compatibile internet contents
FR2958768A1 (en) * 2010-04-12 2011-10-14 Romain Zylik INVENTION IMPROVING INTERNET DISSEMINATION AND OPERATION OF WEB CONTENT ON LARGE SIZE SCREENS, MAKING COMPATIBLE HIGH DEFINITION WEBSITES

Also Published As

Publication number Publication date
DE19936314A1 (en) 2000-02-17
GB9918517D0 (en) 1999-10-06
JP2000090001A (en) 2000-03-31

Similar Documents

Publication Publication Date Title
US6925595B1 (en) Method and system for content conversion of hypertext data using data mining
GB2344197A (en) Content conversion of electronic documents
US6272484B1 (en) Electronic document manager
KR100320980B1 (en) Apparatus and method for formatting a web page
US7073121B2 (en) Web page thumbnails and user configured complementary information provided from a server
KR100317401B1 (en) Apparatus and method for printing related web pages
US6412008B1 (en) System and method for cooperative client/server customization of web pages
US8793341B2 (en) Web page content translator
US6138149A (en) System for tracking information copied from a web page and sent via electronic mail
WO2000039666A1 (en) Converting content of markup data for wireless devices
US20060288124A1 (en) Method and apparatus for enhancing online searching
US20120131045A1 (en) Group universal resource identifiers
US6098069A (en) Data managing method and data managing device using the same for manipulating data independently from networks
KR100903528B1 (en) Segmenting electronic documents for use on a device of limited capability
US20030106025A1 (en) Method and system for providing XML-based web pages for non-pc information terminals
US20030187668A1 (en) Group administration of universal resource identifiers
US20010039578A1 (en) Content distribution system
KR20020041331A (en) Contents providing system
US20040181609A1 (en) Group administration of universal resource identifiers with heirarchical members
US20040179035A1 (en) Group administration of universal resource identifiers with asynchronous playback
KR20020041330A (en) Contents server device

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)