US6615212B1 - Dynamically provided content processor for transcoded data types at intermediate stages of transcoding process - Google Patents

Dynamically provided content processor for transcoded data types at intermediate stages of transcoding process Download PDF

Info

Publication number
US6615212B1
US6615212B1 US09/377,639 US37763999A US6615212B1 US 6615212 B1 US6615212 B1 US 6615212B1 US 37763999 A US37763999 A US 37763999A US 6615212 B1 US6615212 B1 US 6615212B1
Authority
US
United States
Prior art keywords
format
content
client
document
transcoding
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.)
Expired - Lifetime
Application number
US09/377,639
Inventor
Rabindranath Dutta
Matthew Francis Rutkowski
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: DUTTA, RABINDRANATH, RUTKOWSKI, MATTHEW FRANCIS
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to US09/377,639 priority Critical patent/US6615212B1/en
Priority to CA2312449A priority patent/CA2312449C/en
Priority to TW089114269A priority patent/TW480418B/en
Priority to CNB001227033A priority patent/CN1142513C/en
Priority to KR10-2000-0046110A priority patent/KR100403264B1/en
Priority to JP2000241054A priority patent/JP2001117810A/en
Priority to GB0019594A priority patent/GB2356535B/en
Publication of US6615212B1 publication Critical patent/US6615212B1/en
Application granted granted Critical
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Definitions

  • the present invention relates to the field of computer software and, more specifically, to transcoding web based content from one format to another.
  • Internet also referred to as an “internetwork,” in communications, is a set of computer networks, possibly dissimilar, joined together by means of gateways that handle data transfer and the conversion of messages from the sending network to the protocols used by the receiving network (with packets if necessary).
  • gateways that handle data transfer and the conversion of messages from the sending network to the protocols used by the receiving network (with packets if necessary).
  • Internet refers to the collection of networks and gateways that use the TCP/IP suite of protocols.
  • the Internet has become a cultural fixture as a source of both information and entertainment.
  • Many businesses are creating Internet sites as an integral part of their marketing efforts, informing consumers of the products or services offered by the business or providing other information seeking to engender brand loyalty.
  • Many federal, state, and local government agencies are also employing Internet sites for informational purposes, particularly agencies which must interact with virtually all segments of society, such as the Internal Revenue Service and secretaries of state. Operating costs may be reduced by providing informational guides and/or searchable databases of public records online.
  • HTML Hypertext Transfer Protocol
  • HTML Hypertext Markup Language
  • a URL is a special syntax identifier defining a communications path to specific information.
  • Each logical block of information accessible to a client is identified by a URL.
  • the URL provides a universal, consistent method for finding and accessing this information by the web “browser.”
  • a browser is a program capable of submitting a request for information identified by a URL at the client machine. Retrieval of information on the web is generally accomplished with an HTML-compatible browser, such as, for example, Netscape Communicator, which is available from Netscape Communications Corporation.
  • a request is submitted to a server connected to a client computer at which the user is located, and may be handled by a series of servers to effect retrieval of the requested information.
  • the selection of a document is typically performed by the user selecting a hypertext link.
  • the hypertext link is typically displayed by the browser on a client as a highlighted word or phrase within the document being viewed with the browser.
  • the browser then issues a hypertext transfer protocol (HTTP) request for the requested documents to the server identified by the requested document's URL.
  • HTTP hypertext transfer protocol
  • the server then returns the requested document to the client browser using the HTTP protocol.
  • the information in the document is provided to the client, formatted according to HTML.
  • browsers on personal computers (PCs), along with workstations are typically used to access the Internet.
  • HTML format and HTTP protocol are not the only standards currently employed over the Web. There are many different data formats and file transfer protocols utilized on the Web. Furthermore, with the proliferation of wireless telephones, personal digital assistants, and other data processing systems with limited processing capabilities, needs for other file transfer protocols and formats have arisen to handle these devices, since these devices cannot handle many of the data formats utilized by other data processing systems. Therefore, transcoding proxy servers have been utilized to translate data formats such that devices configured to utilize different data formats are able to communicate with each other.
  • the present invention provides a method in a data processing system for providing content from a distributed database to a client.
  • a transcoding proxy server receives a request for content from a client machine.
  • the transcoding proxy server retrieves the content from an originating server.
  • the retrieved content is provided in a first format type.
  • the transcoding proxy server sends the content to the client in the first format type.
  • the transcoding proxy server in response to a determination that the client does not have content-processing software for processing the content in the first format, the transcoding proxy server sends content processing software for the first format type along with the content in the first format type to the client.
  • the transcoding proxy server then transcodes the content from the first format type into the second format type and sends the content in the second format to the client.
  • FIG. 1 is a pictorial representation of a distributed data processing system in which the present invention may be implemented
  • FIG. 2 depicts a block diagram of a data processing system that may be implemented as a proxy transcoding server or originating server in accordance with the present invention
  • FIG. 3 illustrates a block diagram of a data processing system in which the present invention may be implemented
  • FIG. 4 is a pictorial representation illustrating the functioning of a proxy transcoding server
  • FIG. 5 is a block diagram illustrating the flow of data from the originating server through the transcoding proxy server to the client in accordance with the present invention
  • FIGS. 6 and 7 show block diagrams illustrating the data flow through a prior art transcoding proxy server
  • FIG. 8 is a flowchart illustrating a preferred method of operation of the transcoding proxy server in accordance with the present invention.
  • FIG. 9 is a flowchart illustrating a preferred method of operation of a client in accordance with the present invention.
  • FIG. 1 a pictorial representation of a distributed data processing system is depicted in which the present invention may be implemented.
  • Distributed data processing system 100 is a network of computers in which the present invention may be implemented.
  • Distributed data processing system 100 contains network 102 , which is the medium used to provide communications links between various devices and computers connected within distributed data processing system 100 .
  • Network 102 may include permanent connections, such as wire or fiber optic cables, or temporary connections made through telephone connections.
  • server 104 is connected to network 102 , along with storage unit 106 .
  • clients 108 , 110 and 112 are also connected to network 102 .
  • These clients, 108 , 110 and 112 may be, for example, personal computers or network computers.
  • a network computer is any computer coupled to a network, which receives a program or other application from another computer coupled to the network.
  • server 104 provides data, such as boot files, operating system images and applications, to clients 108 - 112 .
  • Clients 108 , 110 and 112 are clients to server 104 .
  • Distributed data processing system 100 may include additional servers, clients, and other devices not shown.
  • distributed data processing system 100 is the Internet, with network 102 representing a worldwide collection of networks and gateways that use the TCP/IP suite of protocols to communicate with one another.
  • network 102 representing a worldwide collection of networks and gateways that use the TCP/IP suite of protocols to communicate with one another.
  • network 102 representing a worldwide collection of networks and gateways that use the TCP/IP suite of protocols to communicate with one another.
  • At the heart of the Internet is a backbone of high-speed data communication lines between major nodes or host computers consisting of thousands of commercial, government, education, and other computer systems that route data and messages.
  • distributed data processing system 100 also may be implemented as a number of different types of networks such as, for example, an intranet or a local area network.
  • FIG. 1 is intended as an example and not as an architectural limitation for the processes of the present invention.
  • Data processing system 200 may be a symmetric multiprocessor (SMP) system including a plurality of processors 202 and 204 connected to system bus 206 . Alternatively, a single processor system may be employed. Also connected to system bus 206 is memory controller/cache 208 , which provides an interface to local memory 209 . I/O bus bridge 210 is connected to system bus 206 and provides an interface to I/O bus 212 . Memory controller/cache 208 and I/O bus bridge 210 may be integrated as depicted.
  • SMP symmetric multiprocessor
  • Peripheral component interconnect (PCI) bus bridge 214 connected to I/O bus 212 provides an interface to PCI local bus 216 .
  • PCI Peripheral component interconnect
  • a number of modems 218 - 220 may be connected to PCI bus 216 .
  • Typical PCI bus implementations will support four PCI expansion slots or add-in connectors.
  • Communications links to network computers 108 - 112 in FIG. 1 may be provided through modem 218 and network adapter 220 connected to PCI local bus 216 through add-in boards.
  • Additional PCI bus bridges 222 and 224 provide interfaces for additional PCI buses 226 and 228 , from which additional modems or network adapters may be supported. In this manner, server 200 allows connections to multiple network computers.
  • a memory mapped graphics adapter 230 and hard disk 232 may also be connected to I/O bus 212 as depicted, either directly or indirectly.
  • FIG. 2 may vary.
  • other peripheral devices such as optical disk drives and the like, also may be used in addition to or in place of the hardware depicted.
  • the depicted example is not meant to imply architectural limitations with respect to the present invention.
  • the data processing system depicted in FIG. 2 may be, for example, an IBM RS/6000, a product of International Business Machines Corporation in Armonk, N.Y., running the Advanced Interactive Executive (AIX) operating system.
  • IBM RS/6000 a product of International Business Machines Corporation in Armonk, N.Y., running the Advanced Interactive Executive (AIX) operating system.
  • AIX Advanced Interactive Executive
  • Data processing system 300 is an example of a client computer.
  • Data processing system 300 employs a peripheral component interconnect (PCI) local bus architecture.
  • PCI peripheral component interconnect
  • Processor 302 and main memory 304 are connected to PCI local bus 306 through PCI bridge 308 .
  • PCI bridge 308 may also include an integrated memory controller and cache memory for processor 302 . Additional connections to PCI local bus 306 may be made through direct component interconnection or through add-in boards.
  • local area network (LAN) adapter 310 SCSI host bus adapter 312 , and expansion bus interface 314 are connected to PCI local bus 306 by direct component connection.
  • audio adapter 316 graphics adapter 318 , and audio/video adapter (A/V) 319 are connected to PCI local bus 306 by add-in boards inserted into expansion slots.
  • Expansion bus interface 314 provides a connection for a keyboard and mouse adapter 320 , modem 322 , and additional memory 324 .
  • SCSI host bus adapter 312 provides a connection for hard disk drive 326 , tape drive 328 , CD-ROM drive 330 , and digital video disc read only memory drive (DVD-ROM) 332 .
  • Typical PCI local bus implementations will support three or four PCI expansion slots or add-in connectors.
  • An operating system runs on processor 302 and is used to coordinate and provide control of various components within data processing system 300 in FIG. 3 .
  • the operating system may be a commercially available operating system, such as OS/2, which is available from International Business Machines Corporation. “OS/2” is a trademark of International Business Machines Corporation.
  • An object oriented programming system such as Java, may run in conjunction with the operating system, providing calls to the operating system from Java programs or applications executing on data processing system 300 .
  • a Web browser is also typically run on the client computer. Instructions for the operating system, the object-oriented operating system, and applications or programs are located on a storage device, such as hard disk drive 326 , and may be loaded into main memory 304 for execution by processor 302 .
  • FIG. 3 may vary depending on the implementation.
  • other peripheral devices such as optical disk drives and the like, may be used in addition to or in place of the hardware depicted in FIG. 3 .
  • the depicted example is not meant to imply architectural limitations with respect to the present invention.
  • the processes of the present invention may be applied to multiprocessor data processing systems.
  • Transcoding proxy server 402 is functionally connected to provide communication between clients 404 , 406 , 408 and 410 and originating servers 412 , 414 and 416 .
  • client 404 is a personal computer
  • client 406 is a laptop computer
  • client 408 is a personal digital assistant (PDA)
  • client 410 is a facsimile machine (FAX).
  • originating server 412 is a Lotus Notes server
  • originating server 414 is a DB 2 server
  • originating server 416 is a web server. It should be noted that other devices not shown could also be connected, and that some devices shown may not be connected in other embodiments.
  • Each of clients 404 , 406 , 408 and 410 use and support a different data format protocol for receiving and sending information.
  • client 404 supports an Extensible Markup Language (XML) format for sending and receiving content
  • client 406 supports an Extensible HyperText Markup Language (XHTML) format for sending and receiving content
  • client 408 supports a Scalable Vector Graphics (SVG) format for sending and receiving content
  • client 410 supports a Wireless Markup Language (WML) format for sending and receiving content.
  • each originating server 412 , 414 and 416 may use and support a different data format from the others and from clients 404 , 406 , 408 and 410 .
  • originating server 412 supports content in an XML format
  • originating server 414 supports content in DB 2 format
  • originating server 416 supports content in Hypertext Markup Language (HTML) format.
  • DB 2 is an IBM database product family.
  • the DB 2 family of relational database products offers open, industrial-strength database management for decision support, transactional processing, and an extensive range of business applications.
  • the DB 2 family spans a number of computer hardware and operating systems.
  • Transcoding proxy server 402 receives requests for content located on one of originating servers 412 , 414 or 416 from one of clients 404 , 406 , 408 or 410 . At the time transcoding proxy server 402 receives the request for content, it also receives information about the capabilities of client 404 , 406 , 408 or 410 , including what data formats are acceptable. Furthermore, transcoding proxy server 402 may also query requesting client 404 , 406 , 408 or 410 to determine other information, such as whether a Portable Document Format (PDF) viewer is available.
  • PDF Portable Document Format
  • Transcoding proxy server 402 then translates the request from a format sent by client 404 , 406 , 408 or 410 to a format compatible with the particular originating server 412 , 414 or 416 , where the requested content is located. Transcoding proxy server 402 then receives the requested content in a format compatible with the particular originating server 412 , 414 or 416 from which it came.
  • Transcoding proxy server 402 determines an estimated amount of time it will take to transcode the content from the format provided by originating server 412 , 414 or 416 to the format requested by client 404 , 406 , 408 or 410 . Transcoding proxy server 402 then determines the amount of time needed to send a content analyzer, if needed, for the format type of the content as provided by originating server 412 , 414 or 416 .
  • a content analyzer also referred to as a content processor, is a piece of software that is used for viewing data on display or for analyzing data in some other way.
  • Transcoding proxy server 402 determines the time required to send the data to requesting client 404 , 406 , 408 or 410 in the format type provided by originating server 412 , 414 or 416 . If transcoding proxy server 402 determines that an increase in speed would be gained by sending the content analyzer and the content in the format provided by originating server 412 , 414 or 416 , then transcoding proxy server 402 sends the content analyzer for the format provided by the originating server along with the content in the format provided by the originating server to requesting client 404 , 406 , 408 or 410 .
  • Requesting client 404 , 406 , 408 or 410 may then begin analyzing the content while proxy server 402 transcodes the content as provided by the particular originating server 412 , 414 or 416 from which the content was requested, into the format requested by requesting client 404 , 406 , 408 or 410 , thus reducing the time needed to process the requested content.
  • transcoding proxy server 402 Once transcoding proxy server 402 has completed transcoding the requested content, the requested content is sent to requesting client 404 , 406 , 408 or 410 in the format type requested by requesting client 404 , 406 , 408 or 410 .
  • transcoding proxy server 402 is described in terms of transcoding (or converting) from one format into a client-requested data format.
  • the process typically involves conversions to various intermediate transcoded data formats before generating the output in the client-requested data format.
  • the transcoding proxy server may perform the final transcoding in several steps and send any of the intermediate outputs in a similar manner. That is to say, the transcoding proxy server may transfer to the client any of the intermediate outputs and the associated content analyzer to the client.
  • MIME Multimedia Internet Mail Extension
  • MIME extensions Some typical MIME extensions, their types, and their subtypes are listed as follows: .txt—text/plain; .htm—text/HTML; .html—text/HTML; ps—application/postscript; eps—application/postscript; .pdf—application/PDF; .jpg—image/jpeg; gif—image/gif; .png—image/png; and .bmp—image/x-MS-bmp.
  • the present invention is applicable with any of these and other MIME data types, including both those types that are registered with standards bodies and those that are not. Furthermore, the present invention is applicable with other data formats that are not defined as MIME types.
  • FIG. 5 there is shown a block diagram illustrating the flow of data from the originating server through the transcoding proxy server to the client in accordance with the present invention.
  • the client has requested the content to be sent in HTML format.
  • the requested content is located on originating server 502 as postscript document 520 .
  • Transcoding proxy server 504 receives postscript document 520 from originating server 502 and transcodes it into PDF document 522 .
  • transcoding proxy server 504 has made the determination that an increase in speed in processing the content by the client will be obtained by sending a PDF viewer along with PDF document 522 to client 506 prior to or while transcoding proxy server 504 transcodes the PDF document into HTML document 524 . Therefore, the PDF document, along with a PDF viewer, is sent to client 506 .
  • Client 506 is able to view the content, using the PDF viewer, while transcoding proxy server 504 continues to transcode PDF document 522 into HTML document 524 .
  • transcoding proxy server 504 has completed transcoding PDF document 522 to HTML document 524 , HTML document 524 is sent to client 506 for viewing and final processing. Note that, if the PDF viewer were available with the client, the transcoding server would not send the PDF viewer to the client. The determination of whether a PDF viewer is available or not could be made from the client information or via standard techniques of content negotiation between the transcoding server and the client.
  • Transcoding proxy server 606 includes transcoding framework 608 for converting requests in one format to requests in a second format.
  • Transcoding framework 608 includes HTTP request transform plugin 610 for converting HTTP request 604 received from client 602 into a modified HTTP request 612 compatible with originating server 614 , where the requested content is located.
  • transcoding proxy server 606 receives server response 702 in Extensible Markup Language (XML) data format.
  • Transcoding framework 608 also includes XML to HTML transcoder plugin 704 .
  • XML to HTML transcoder plugin 704 converts server response 702 from XML data format to an HTML data format and sends HTML data 706 to client 602 for processing.
  • an origin server contains very large (i.e., 10000 ⁇ 10000 resolution) BMP format images (Bitmap format).
  • the transcoding proxy server has a BMP to PNG format converter and a PNG to GIF format converter. (PNG and GIF are well known image formats.)
  • a client has a GIF viewer and requests x.GIF.
  • the transcoding proxy server obtains x.BMP from the origin server and starts converting x.BMP to x.PNG.
  • the transcoding server then sends the PNG viewer and x.PNG to the client, while it is transcoding x.PNG to x.GIF.
  • the transcoding server Upon completion of transcoding x.PNG to x.GIF, the transcoding server sends x.GIF to the client.
  • the client is able to view the content of the image before the transcoding proxy server completes performing the transcoding.
  • the client already has the PNG to GIF converter.
  • the client requests x.GIF, and the transcoding proxy server obtains x.BMP from the originating server.
  • the transcoding server then starts converting x.BMP to x.PNG.
  • the transcoding server sends the PNG viewer and x.PNG to the client, while it is transcoding x.PNG to x.GIF.
  • the client sees x.PNG in the PNG viewer and also converts x.PNG to x.GIF, and then terminates the connection to the transcoding server.
  • the client is able to view the content more quickly than waiting for the transcoding server to convert x.BMP to x.GIF.
  • FIG. 8 there is shown a flowchart illustrating a preferred method of operation of the transcoding proxy server in accordance with the present invention.
  • the method is described with one intermediate format conversion in the transcoding proxy server, those of ordinary skill in the art will appreciate that the method may be altered somewhat when multiple intermediate format conversions are involved. However, such alterations may be made without departing from the spirit and scope of the present invention.
  • the method begins with a request by a client, such as data processing system 300 , to the transcoding proxy server, such as transcoding proxy server 402 , for a document in data format Z from an originating server, such as originating server 416 (step 802 ).
  • the transcoding proxy server locates the document in data format X (step 804 ).
  • the transcoding proxy server determines format options and estimates transcoding times and transmission times (step 806 ). In step 806 , the transcoding proxy server determines that format X is to be transcoded to intermediate format Y and that format Y is to be transcoded to final format Z.
  • the transcoding proxy server estimates the time (T_xy) for transcoding format X to format Y, the time (T_yz) for transcoding format Y to format Z, the time (T_c) to send a content analyzer for format Y to the client, and the time (T_d) to send the transcoded data in format Y.
  • the transcoding proxy server Based on the values of T_c, T_d, T_xy and T_yz and orders of execution, the transcoding proxy server makes a determination of whether to send the intermediate transcoded data and content analyzer for format Y to the client based on time saving considerations (step 808 ).
  • One goal is for the transcoding proxy server to determine whether, for the particular document requested, it would gain performance advantage by adopting the proposed scheme. In the specific example given above, if (T_c+T_d) is less that T_yz, then, in many situations, it can be concluded by the transcoding proxy server that it is advantageous to send the intermediate data and the associated content processor to the client, while transcoding to the desired final format is proceeding. If the transcoding proxy server determines, via content negotiation or client-supplied information, that the client does not need the content analyzer for the intermediate data, then if T_d is less than T_yz, the transcoding proxy server does not send the intermediate data to the client.
  • transcoding proxy server determines that it would be advantageous to send the intermediate transcoded data (and content analyzer, if necessary, for the intermediate transcoded data) to the client, then once the client receives them, the client begins processing the document while awaiting the final format (step 810 ).
  • the client If the client has transcoders to perform conversions from the intermediate format to the final format, it does local transcoding of the intermediate format. If the local transcoding is completed before the final transcoded output of the transcoding proxy server arrives, the client may cancel the initial request. If the transcoding proxy server receives a request to cancel (step 812 ), then the transcoding proxy server quits the transcoding process and does not send the content in the requested format to the client (step 816 ).
  • step 812 If the original request is not cancelled (step 812 ) or if the transcoding proxy server determines not to send the intermediate transcoded data to the client (step 808 ), then the client receives the document in the originally requested format Z (step 818 ).
  • FIG. 9 there is shown a flowchart illustrating the operation of the client in accordance with the present invention.
  • the process begins with the client sending a request for content in a requested format to a server (step 902 ).
  • the client receives the requested content from the server (step 904 ) and determines if the content received is in the requested format (step 906 ). If the content received is in the requested format, then the content is processed using a content analyzer existing and available on the client (step 908 ), and the process ends.
  • the client determines whether a content analyzer for the received format is available (either because the client currently has one or because a content analyzer has been received along with the requested content) (step 910 ). If the client does not have a content analyzer for the received content, as a first option, it can send a request for the content analyzer (step 912 ), receive the content analyzer from the server (step 914 ), and process the content in the received format (step 916 ). As a second option, the client may simply wait for the requested format (step 920 ) and process the content (step 908 ) once it has received the content in the requested format (step 922 ), at which point the process ends.
  • the client If the client does have a content analyzer for the received format, it processes the content in the received format (step 916 ). The client then determines whether a transcoder is available on the client for transcoding from the received format into the requested format (step 918 ). If there is no such transcoder available, then the client waits for the requested format (step 920 ), receives the requested format (step 922 ), processes the content in the requested format (step 908 ), and then the process ends.
  • the client transcodes the content in the received format into the requested format (step 924 ). If the transcoding is completed before the content in the requested format is received from the server, then the client may cancel the request for the content in the requested format (step 926 ). If the client decides to cancel the request, then a cancellation request is sent to the server (step 928 ) and, at the same time, the client starts processing the content (which is now in the originally requested format) (step 908 ). At the end of processing the content, the process ends. Alternatively, if a cancellation request is not sent, then the client waits for the requested format (step 920 ) and processes the content in the requested format (step 908 ) once the requested format has been received (step 922 ), at which point the process ends.
  • the transcoding proxy server may transcode the content from an initial data format directly into the final data format and, if determined to be advisable, send the content to the client in the original data format, possibly along with a content analyzer for the initial data format, while transcoding takes place on the proxy server.
  • the transcoding proxy server may transcode the content from an initial data format directly into the final data format and, if determined to be advisable, send the content to the client in the original data format, possibly along with a content analyzer for the initial data format, while transcoding takes place on the proxy server.
  • a client requests a document in data format Z.
  • An originating server provides the document to a transcoding proxy server in format X.
  • the transcoding proxy server takes X and coverts it to Y 1 , then to Y 2 , then to Y 3 , all the way to Yn, and then to Z. That is, there are multiple transcoding steps in the transcoding proxy server. Anytime the transcoding proxy server determines that it saves time, it sends the intermediate data format, whether it be Y 1 , Y 2 , etc. (and content processor if needed) to the client.
  • the transcoding proxy server may determine that time may be saved because the content processor of Y 1 , Y 2 , Y 3 , etc., is available at the client or because sending the intermediate data content processor/analyzer can be done while transcoding to the final output is proceeding.
  • present invention is herein described primarily with reference to content or image transcoding, other embodiments of the present invention are applicable to other types of transcoding as well.
  • present invention may also be applied to device transcoding and protocol transcoding.
  • Device transcoding is the process of converting data to fit device characteristics. For example, a user might desire that HTML data with color images be converted to a Palmpilot format at 160 ⁇ 160 resolution and 2-bit grayscale format. Here, the 160 ⁇ 160 resolution conversion and the 2-bit grayscale conversion are examples of device transcoding. Such transcoders can also be split among transcoding servers and clients, e.g., the Palmpilot may have a program that converts color images to 2-bit grayscale, but not have the transcoder to convert to 160 ⁇ 160 resolution.
  • Protocol transcoding (e.g., conversion of various protocols to HTTP) may also be accomplished utilizing the processes and apparatus of the present invention. Such protocol conversions can also be done in multiple stages in a transcoding proxy server.
  • the client is not just a computer which is asking for data for viewing, but could be a protocol converter that is asking the transcoding proxy server for assistance with protocol conversion.
  • the transcoding proxy server is presented herein primarily with reference to an intermediate transcoding proxy server as depicted in FIG. 4 . This is the most commercially valuable implementation of the present invention because the transcoding proxy server can act as an intermediary through which all data involved in the transcoding process passes. Advertisements that are inserted into the transcoded content can earn revenue for the stand-alone transcoding proxy server.
  • the transcoding proxy server could also potentially be located in the same web server (i.e., originating server) on which the content is located, and installed on top of the web server. In this particular case, there are two modes of operation. In one mode of operation, the transcoding proxy server transcodes data only for the web server on which it is located. In a second mode of operation, the transcoding proxy server transcodes data for the web server on which it is located and also for other web servers on which other data is located.
  • the present invention is described primarily with reference to “conventional” data processing systems, such as personal computers, the present invention is also applicable to other data processing systems and electronic devices.
  • Some examples of other devices include personal digital assistants (PDAs), smart phones, screen phones, and voice-drive car browsers. These other devices vary in terms of their input and output interfaces, screen real estate, and processing capabilities. Transcoding is needed to tailor data to these constrained devices.
  • the transcoding proxy server receives information conveying the attributes and capabilities of the device requesting content from an originating server. With many of these other devices, such as smart phones, the device itself does not have enough processing power to send this information directly. Therefore, a Universal Resource Link (URL) to a web site containing device attributes is often sent to the transcoding proxy server instead.
  • URL Universal Resource Link

Abstract

A method in a data processing system for providing content from a distributed database to a client. In a preferred embodiment, a transcoding proxy server receives a request for content from a client machine. The transcoding proxy server retrieves the content from an originating server. The retrieved content is provided in a first format type. In response to a determination that an increase in efficiency would be obtained by allowing the client to process the content in the first format type prior to transcoding the content into a second format type, the transcoding proxy server sends the content to the client in the first format type. Furthermore, in response to a determination that the client does not have content processing software for processing the content in the first format, the transcoding proxy server sends content processing software for the first format type along with the content in the first format type to the client. The transcoding proxy server then transcodes the content from the first format type into the second format type and sends the content in the second format to the client.

Description

BACKGROUND OF THE INVENTION
1. Technical Field
The present invention relates to the field of computer software and, more specifically, to transcoding web based content from one format to another.
2. Description of Related Art
Internet, also referred to as an “internetwork,” in communications, is a set of computer networks, possibly dissimilar, joined together by means of gateways that handle data transfer and the conversion of messages from the sending network to the protocols used by the receiving network (with packets if necessary). When capitalized, the term “Internet” refers to the collection of networks and gateways that use the TCP/IP suite of protocols.
The Internet has become a cultural fixture as a source of both information and entertainment. Many businesses are creating Internet sites as an integral part of their marketing efforts, informing consumers of the products or services offered by the business or providing other information seeking to engender brand loyalty. Many federal, state, and local government agencies are also employing Internet sites for informational purposes, particularly agencies which must interact with virtually all segments of society, such as the Internal Revenue Service and secretaries of state. Operating costs may be reduced by providing informational guides and/or searchable databases of public records online.
Currently, the most commonly employed method of transferring data over the Internet is to employ the World Wide Web environment, also called, simply, “the Web.” Other Internet resources also exist for transferring information, such as File Transfer Protocol (FTP), and Gopher. In the web environment, servers and clients effect data transactions using the Hypertext Transfer Protocol (HTTP), a known protocol for handling the transfer of various data files (e.g., text, still graphic images, audio, motion video, etc.). Information is formatted for presentation to a user by a standard page description language, the Hypertext Markup Language (HTML). In addition to basic presentation formatting, HTML allows developers to specify “links” to other web resources identified by a Uniform Resource Locator (URL). A URL is a special syntax identifier defining a communications path to specific information. Each logical block of information accessible to a client, called a “page” or a “web page,” is identified by a URL. The URL provides a universal, consistent method for finding and accessing this information by the web “browser.” A browser is a program capable of submitting a request for information identified by a URL at the client machine. Retrieval of information on the web is generally accomplished with an HTML-compatible browser, such as, for example, Netscape Communicator, which is available from Netscape Communications Corporation.
When a user desires to retrieve a document, such as a web page, a request is submitted to a server connected to a client computer at which the user is located, and may be handled by a series of servers to effect retrieval of the requested information. The selection of a document is typically performed by the user selecting a hypertext link. The hypertext link is typically displayed by the browser on a client as a highlighted word or phrase within the document being viewed with the browser. The browser then issues a hypertext transfer protocol (HTTP) request for the requested documents to the server identified by the requested document's URL. The server then returns the requested document to the client browser using the HTTP protocol. The information in the document is provided to the client, formatted according to HTML. Typically, browsers on personal computers (PCs), along with workstations, are typically used to access the Internet. The standard HTML syntax of web pages and the standard communication protocol (HTTP) supported by the World Wide Web guarantee that any browser can communicate with any web server.
HTML format and HTTP protocol are not the only standards currently employed over the Web. There are many different data formats and file transfer protocols utilized on the Web. Furthermore, with the proliferation of wireless telephones, personal digital assistants, and other data processing systems with limited processing capabilities, needs for other file transfer protocols and formats have arisen to handle these devices, since these devices cannot handle many of the data formats utilized by other data processing systems. Therefore, transcoding proxy servers have been utilized to translate data formats such that devices configured to utilize different data formats are able to communicate with each other.
However, much of the information now available on the Web are legacy files created before the proliferation of the Internet and the Web. These files are often very large and were not created with the thought that they might someday be transmitted back and forth across the Internet. These files can take a very long time to transmit over the Web, and it can also take a very long time to transcode their contents into a different data format. Therefore, there is a need for an improved method of transcoding data formats and sending information across the web to minimize transmission times.
SUMMARY OF THE INVENTION
The present invention provides a method in a data processing system for providing content from a distributed database to a client. In a preferred embodiment, a transcoding proxy server receives a request for content from a client machine. The transcoding proxy server retrieves the content from an originating server. The retrieved content is provided in a first format type. In response to a determination that an increase in efficiency would be obtained by allowing the client to process the content in the first format type prior to transcoding the content into a second format type, the transcoding proxy server sends the content to the client in the first format type. Furthermore, in response to a determination that the client does not have content-processing software for processing the content in the first format, the transcoding proxy server sends content processing software for the first format type along with the content in the first format type to the client. The transcoding proxy server then transcodes the content from the first format type into the second format type and sends the content in the second format to the client.
BRIEF DESCRIPTION OF THE DRAWINGS
The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objectives and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:
FIG. 1 is a pictorial representation of a distributed data processing system in which the present invention may be implemented;
FIG. 2 depicts a block diagram of a data processing system that may be implemented as a proxy transcoding server or originating server in accordance with the present invention;
FIG. 3 illustrates a block diagram of a data processing system in which the present invention may be implemented;
FIG. 4 is a pictorial representation illustrating the functioning of a proxy transcoding server;
FIG. 5 is a block diagram illustrating the flow of data from the originating server through the transcoding proxy server to the client in accordance with the present invention;
FIGS. 6 and 7 show block diagrams illustrating the data flow through a prior art transcoding proxy server;
FIG. 8 is a flowchart illustrating a preferred method of operation of the transcoding proxy server in accordance with the present invention; and
FIG. 9 is a flowchart illustrating a preferred method of operation of a client in accordance with the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
With reference now to the figures, and in particular with reference to FIG. 1, a pictorial representation of a distributed data processing system is depicted in which the present invention may be implemented.
Distributed data processing system 100 is a network of computers in which the present invention may be implemented. Distributed data processing system 100 contains network 102, which is the medium used to provide communications links between various devices and computers connected within distributed data processing system 100. Network 102 may include permanent connections, such as wire or fiber optic cables, or temporary connections made through telephone connections.
In the depicted example, server 104 is connected to network 102, along with storage unit 106. In addition, clients 108, 110 and 112 are also connected to network 102. These clients, 108, 110 and 112, may be, for example, personal computers or network computers. For purposes of this application, a network computer is any computer coupled to a network, which receives a program or other application from another computer coupled to the network. In the depicted example, server 104 provides data, such as boot files, operating system images and applications, to clients 108-112. Clients 108, 110 and 112 are clients to server 104. Distributed data processing system 100 may include additional servers, clients, and other devices not shown.
In the depicted example, distributed data processing system 100 is the Internet, with network 102 representing a worldwide collection of networks and gateways that use the TCP/IP suite of protocols to communicate with one another. At the heart of the Internet is a backbone of high-speed data communication lines between major nodes or host computers consisting of thousands of commercial, government, education, and other computer systems that route data and messages. Of course, distributed data processing system 100 also may be implemented as a number of different types of networks such as, for example, an intranet or a local area network.
FIG. 1 is intended as an example and not as an architectural limitation for the processes of the present invention.
Referring to FIG. 2, a block diagram of a data processing system which may be implemented as a server, such as server 104 in FIG. 1, and utilized as a transcoding proxy server or originating server, is depicted in accordance with the present invention. (Note that an originating server is also referred to in literature as an origin server.) Data processing system 200 may be a symmetric multiprocessor (SMP) system including a plurality of processors 202 and 204 connected to system bus 206. Alternatively, a single processor system may be employed. Also connected to system bus 206 is memory controller/cache 208, which provides an interface to local memory 209. I/O bus bridge 210 is connected to system bus 206 and provides an interface to I/O bus 212. Memory controller/cache 208 and I/O bus bridge 210 may be integrated as depicted.
Peripheral component interconnect (PCI) bus bridge 214 connected to I/O bus 212 provides an interface to PCI local bus 216. A number of modems 218-220 may be connected to PCI bus 216. Typical PCI bus implementations will support four PCI expansion slots or add-in connectors. Communications links to network computers 108-112 in FIG. 1 may be provided through modem 218 and network adapter 220 connected to PCI local bus 216 through add-in boards.
Additional PCI bus bridges 222 and 224 provide interfaces for additional PCI buses 226 and 228, from which additional modems or network adapters may be supported. In this manner, server 200 allows connections to multiple network computers. A memory mapped graphics adapter 230 and hard disk 232 may also be connected to I/O bus 212 as depicted, either directly or indirectly.
Those of ordinary skill in the art will appreciate that the hardware depicted in FIG. 2 may vary. For example, other peripheral devices, such as optical disk drives and the like, also may be used in addition to or in place of the hardware depicted. The depicted example is not meant to imply architectural limitations with respect to the present invention.
The data processing system depicted in FIG. 2 may be, for example, an IBM RS/6000, a product of International Business Machines Corporation in Armonk, N.Y., running the Advanced Interactive Executive (AIX) operating system.
With reference now to FIG. 3, a block diagram of a data processing system in which the present invention may be implemented is illustrated. Data processing system 300 is an example of a client computer. Data processing system 300 employs a peripheral component interconnect (PCI) local bus architecture. Although the depicted example employs a PCI bus, other bus architectures, such as Micro Channel and ISA, may be used. Processor 302 and main memory 304 are connected to PCI local bus 306 through PCI bridge 308. PCI bridge 308 may also include an integrated memory controller and cache memory for processor 302. Additional connections to PCI local bus 306 may be made through direct component interconnection or through add-in boards. In the depicted example, local area network (LAN) adapter 310, SCSI host bus adapter 312, and expansion bus interface 314 are connected to PCI local bus 306 by direct component connection. In contrast, audio adapter 316, graphics adapter 318, and audio/video adapter (A/V) 319 are connected to PCI local bus 306 by add-in boards inserted into expansion slots. Expansion bus interface 314 provides a connection for a keyboard and mouse adapter 320, modem 322, and additional memory 324. In the depicted example, SCSI host bus adapter 312 provides a connection for hard disk drive 326, tape drive 328, CD-ROM drive 330, and digital video disc read only memory drive (DVD-ROM) 332. Typical PCI local bus implementations will support three or four PCI expansion slots or add-in connectors.
An operating system runs on processor 302 and is used to coordinate and provide control of various components within data processing system 300 in FIG. 3. The operating system may be a commercially available operating system, such as OS/2, which is available from International Business Machines Corporation. “OS/2” is a trademark of International Business Machines Corporation. An object oriented programming system, such as Java, may run in conjunction with the operating system, providing calls to the operating system from Java programs or applications executing on data processing system 300. A Web browser is also typically run on the client computer. Instructions for the operating system, the object-oriented operating system, and applications or programs are located on a storage device, such as hard disk drive 326, and may be loaded into main memory 304 for execution by processor 302.
Those of ordinary skill in the art will appreciate that the hardware in FIG. 3 may vary depending on the implementation. For example, other peripheral devices, such as optical disk drives and the like, may be used in addition to or in place of the hardware depicted in FIG. 3. The depicted example is not meant to imply architectural limitations with respect to the present invention. For example, the processes of the present invention may be applied to multiprocessor data processing systems.
With reference now to FIG. 4, there is shown a pictorial representation illustrating the functioning of a transcoding proxy server. Transcoding proxy server 402 is functionally connected to provide communication between clients 404, 406, 408 and 410 and originating servers 412, 414 and 416. In the depicted example, client 404 is a personal computer, client 406 is a laptop computer, client 408 is a personal digital assistant (PDA), and client 410 is a facsimile machine (FAX). Also in the depicted example, originating server 412 is a Lotus Notes server, originating server 414 is a DB2 server, and originating server 416 is a web server. It should be noted that other devices not shown could also be connected, and that some devices shown may not be connected in other embodiments.
Each of clients 404, 406, 408 and 410 use and support a different data format protocol for receiving and sending information. For example, client 404 supports an Extensible Markup Language (XML) format for sending and receiving content; client 406 supports an Extensible HyperText Markup Language (XHTML) format for sending and receiving content; client 408 supports a Scalable Vector Graphics (SVG) format for sending and receiving content; and client 410 supports a Wireless Markup Language (WML) format for sending and receiving content. Furthermore, each originating server 412, 414 and 416 may use and support a different data format from the others and from clients 404, 406, 408 and 410. For example, originating server 412 supports content in an XML format, originating server 414 supports content in DB2 format, and originating server 416 supports content in Hypertext Markup Language (HTML) format. DB2 is an IBM database product family. The DB2 family of relational database products offers open, industrial-strength database management for decision support, transactional processing, and an extensive range of business applications. The DB2 family spans a number of computer hardware and operating systems.
Transcoding proxy server 402 receives requests for content located on one of originating servers 412, 414 or 416 from one of clients 404, 406, 408 or 410. At the time transcoding proxy server 402 receives the request for content, it also receives information about the capabilities of client 404, 406, 408 or 410, including what data formats are acceptable. Furthermore, transcoding proxy server 402 may also query requesting client 404, 406, 408 or 410 to determine other information, such as whether a Portable Document Format (PDF) viewer is available. Transcoding proxy server 402 then translates the request from a format sent by client 404, 406, 408 or 410 to a format compatible with the particular originating server 412, 414 or 416, where the requested content is located. Transcoding proxy server 402 then receives the requested content in a format compatible with the particular originating server 412, 414 or 416 from which it came.
Transcoding proxy server 402 then determines an estimated amount of time it will take to transcode the content from the format provided by originating server 412, 414 or 416 to the format requested by client 404, 406, 408 or 410. Transcoding proxy server 402 then determines the amount of time needed to send a content analyzer, if needed, for the format type of the content as provided by originating server 412, 414 or 416. A content analyzer, also referred to as a content processor, is a piece of software that is used for viewing data on display or for analyzing data in some other way. Transcoding proxy server 402 determines the time required to send the data to requesting client 404, 406, 408 or 410 in the format type provided by originating server 412, 414 or 416. If transcoding proxy server 402 determines that an increase in speed would be gained by sending the content analyzer and the content in the format provided by originating server 412, 414 or 416, then transcoding proxy server 402 sends the content analyzer for the format provided by the originating server along with the content in the format provided by the originating server to requesting client 404, 406, 408 or 410. Requesting client 404, 406, 408 or 410 may then begin analyzing the content while proxy server 402 transcodes the content as provided by the particular originating server 412, 414 or 416 from which the content was requested, into the format requested by requesting client 404, 406, 408 or 410, thus reducing the time needed to process the requested content. Once transcoding proxy server 402 has completed transcoding the requested content, the requested content is sent to requesting client 404, 406, 408 or 410 in the format type requested by requesting client 404, 406, 408 or 410.
In this example, for convenience and to aid in describing the present invention, transcoding proxy server 402 is described in terms of transcoding (or converting) from one format into a client-requested data format. However, in most embodiments, the process typically involves conversions to various intermediate transcoded data formats before generating the output in the client-requested data format. Note that, instead of sending the content (and the appropriate content analyzer) from the origin server, the transcoding proxy server may perform the final transcoding in several steps and send any of the intermediate outputs in a similar manner. That is to say, the transcoding proxy server may transfer to the client any of the intermediate outputs and the associated content analyzer to the client.
The majority of formats currently in existence for data exchanges between computers via a network may be found by looking at the list of registered Multimedia Internet Mail Extension (MIME) types. MIME is a protocol that defines a number of content types and subtypes. This allows programs like web browsers to recognize different types for files and deal with them in the appropriate manner. The list of MIME types (registered and unregistered with standards bodies) can surpass hundreds if not thousands of types. Some typical MIME extensions, their types, and their subtypes are listed as follows: .txt—text/plain; .htm—text/HTML; .html—text/HTML; ps—application/postscript; eps—application/postscript; .pdf—application/PDF; .jpg—image/jpeg; gif—image/gif; .png—image/png; and .bmp—image/x-MS-bmp. The present invention is applicable with any of these and other MIME data types, including both those types that are registered with standards bodies and those that are not. Furthermore, the present invention is applicable with other data formats that are not defined as MIME types.
The details and functioning of the present invention may be more fully understood by contrasting FIG. 5 with FIGS. 6 and 7. Turning first to FIG. 5, there is shown a block diagram illustrating the flow of data from the originating server through the transcoding proxy server to the client in accordance with the present invention. In the depicted example, the client has requested the content to be sent in HTML format. However, the requested content is located on originating server 502 as postscript document 520.
Transcoding proxy server 504 receives postscript document 520 from originating server 502 and transcodes it into PDF document 522. In the present example, transcoding proxy server 504 has made the determination that an increase in speed in processing the content by the client will be obtained by sending a PDF viewer along with PDF document 522 to client 506 prior to or while transcoding proxy server 504 transcodes the PDF document into HTML document 524. Therefore, the PDF document, along with a PDF viewer, is sent to client 506. Client 506 is able to view the content, using the PDF viewer, while transcoding proxy server 504 continues to transcode PDF document 522 into HTML document 524. Once transcoding proxy server 504 has completed transcoding PDF document 522 to HTML document 524, HTML document 524 is sent to client 506 for viewing and final processing. Note that, if the PDF viewer were available with the client, the transcoding server would not send the PDF viewer to the client. The determination of whether a PDF viewer is available or not could be made from the client information or via standard techniques of content negotiation between the transcoding server and the client.
Turning now to FIGS. 6 and 7, there are shown block diagrams illustrating the data flow through a prior art transcoding proxy server. In FIG. 6, client 602 sends HTTP request 604 to transcoding proxy server 606. Transcoding proxy server 606 includes transcoding framework 608 for converting requests in one format to requests in a second format. Transcoding framework 608 includes HTTP request transform plugin 610 for converting HTTP request 604 received from client 602 into a modified HTTP request 612 compatible with originating server 614, where the requested content is located.
As shown in FIG. 7, transcoding proxy server 606 receives server response 702 in Extensible Markup Language (XML) data format. Transcoding framework 608 also includes XML to HTML transcoder plugin 704. XML to HTML transcoder plugin 704 converts server response 702 from XML data format to an HTML data format and sends HTML data 706 to client 602 for processing.
Following are some examples that will aid in understanding the principles of the present invention. In a first example, an origin server contains very large (i.e., 10000×10000 resolution) BMP format images (Bitmap format). The transcoding proxy server has a BMP to PNG format converter and a PNG to GIF format converter. (PNG and GIF are well known image formats.) A client has a GIF viewer and requests x.GIF. The transcoding proxy server obtains x.BMP from the origin server and starts converting x.BMP to x.PNG. The transcoding server then sends the PNG viewer and x.PNG to the client, while it is transcoding x.PNG to x.GIF. Upon completion of transcoding x.PNG to x.GIF, the transcoding server sends x.GIF to the client. Thus, the client is able to view the content of the image before the transcoding proxy server completes performing the transcoding.
In a second example, the client already has the PNG to GIF converter. The client requests x.GIF, and the transcoding proxy server obtains x.BMP from the originating server. The transcoding server then starts converting x.BMP to x.PNG. Once this is complete, the transcoding server sends the PNG viewer and x.PNG to the client, while it is transcoding x.PNG to x.GIF. The client sees x.PNG in the PNG viewer and also converts x.PNG to x.GIF, and then terminates the connection to the transcoding server. Thus, the client is able to view the content more quickly than waiting for the transcoding server to convert x.BMP to x.GIF.
With reference now to FIG. 8, there is shown a flowchart illustrating a preferred method of operation of the transcoding proxy server in accordance with the present invention. Although the method is described with one intermediate format conversion in the transcoding proxy server, those of ordinary skill in the art will appreciate that the method may be altered somewhat when multiple intermediate format conversions are involved. However, such alterations may be made without departing from the spirit and scope of the present invention.
The method begins with a request by a client, such as data processing system 300, to the transcoding proxy server, such as transcoding proxy server 402, for a document in data format Z from an originating server, such as originating server 416 (step 802). The transcoding proxy server locates the document in data format X (step 804). The transcoding proxy server determines format options and estimates transcoding times and transmission times (step 806). In step 806, the transcoding proxy server determines that format X is to be transcoded to intermediate format Y and that format Y is to be transcoded to final format Z. Also in step 806, the transcoding proxy server estimates the time (T_xy) for transcoding format X to format Y, the time (T_yz) for transcoding format Y to format Z, the time (T_c) to send a content analyzer for format Y to the client, and the time (T_d) to send the transcoded data in format Y.
Based on the values of T_c, T_d, T_xy and T_yz and orders of execution, the transcoding proxy server makes a determination of whether to send the intermediate transcoded data and content analyzer for format Y to the client based on time saving considerations (step 808). One goal is for the transcoding proxy server to determine whether, for the particular document requested, it would gain performance advantage by adopting the proposed scheme. In the specific example given above, if (T_c+T_d) is less that T_yz, then, in many situations, it can be concluded by the transcoding proxy server that it is advantageous to send the intermediate data and the associated content processor to the client, while transcoding to the desired final format is proceeding. If the transcoding proxy server determines, via content negotiation or client-supplied information, that the client does not need the content analyzer for the intermediate data, then if T_d is less than T_yz, the transcoding proxy server does not send the intermediate data to the client.
Note that various modifications that include additional factors, like the time required to install a new content analyzer on the client computer or the time required to send the final transcoded output to the client, are possible and can be done by a person of ordinary skill in the art. To reiterate on the basis of the above example, if the transcoding proxy server determines that it would be advantageous to send the intermediate transcoded data (and content analyzer, if necessary, for the intermediate transcoded data) to the client, then once the client receives them, the client begins processing the document while awaiting the final format (step 810).
If the client has transcoders to perform conversions from the intermediate format to the final format, it does local transcoding of the intermediate format. If the local transcoding is completed before the final transcoded output of the transcoding proxy server arrives, the client may cancel the initial request. If the transcoding proxy server receives a request to cancel (step 812), then the transcoding proxy server quits the transcoding process and does not send the content in the requested format to the client (step 816).
If the original request is not cancelled (step 812) or if the transcoding proxy server determines not to send the intermediate transcoded data to the client (step 808), then the client receives the document in the originally requested format Z (step 818).
Turning now to FIG. 9, there is shown a flowchart illustrating the operation of the client in accordance with the present invention. The process begins with the client sending a request for content in a requested format to a server (step 902). The client then receives the requested content from the server (step 904) and determines if the content received is in the requested format (step 906). If the content received is in the requested format, then the content is processed using a content analyzer existing and available on the client (step 908), and the process ends.
If the content received is not in the requested format, then the client determines whether a content analyzer for the received format is available (either because the client currently has one or because a content analyzer has been received along with the requested content) (step 910). If the client does not have a content analyzer for the received content, as a first option, it can send a request for the content analyzer (step 912), receive the content analyzer from the server (step 914), and process the content in the received format (step 916). As a second option, the client may simply wait for the requested format (step 920) and process the content (step 908) once it has received the content in the requested format (step 922), at which point the process ends.
If the client does have a content analyzer for the received format, it processes the content in the received format (step 916). The client then determines whether a transcoder is available on the client for transcoding from the received format into the requested format (step 918). If there is no such transcoder available, then the client waits for the requested format (step 920), receives the requested format (step 922), processes the content in the requested format (step 908), and then the process ends.
If there is a transcoder available on the client, then the client transcodes the content in the received format into the requested format (step 924). If the transcoding is completed before the content in the requested format is received from the server, then the client may cancel the request for the content in the requested format (step 926). If the client decides to cancel the request, then a cancellation request is sent to the server (step 928) and, at the same time, the client starts processing the content (which is now in the originally requested format) (step 908). At the end of processing the content, the process ends. Alternatively, if a cancellation request is not sent, then the client waits for the requested format (step 920) and processes the content in the requested format (step 908) once the requested format has been received (step 922), at which point the process ends.
It should be noted that, while the present invention has been described primarily with reference to conversions from an initial data format to a final data format, with one intermediate format, other possibilities exist as well. For example, the transcoding proxy server may transcode the content from an initial data format directly into the final data format and, if determined to be advisable, send the content to the client in the original data format, possibly along with a content analyzer for the initial data format, while transcoding takes place on the proxy server. As one of ordinary skill in the art will recognize, everything in this scenario is the same as the one intermediary scenario, except for the removal of the intermediary transcoding step.
Furthermore, the present invention may also be applied to multiple intermediary transcoding steps. For example, a client requests a document in data format Z. An originating server provides the document to a transcoding proxy server in format X. The transcoding proxy server takes X and coverts it to Y1, then to Y2, then to Y3, all the way to Yn, and then to Z. That is, there are multiple transcoding steps in the transcoding proxy server. Anytime the transcoding proxy server determines that it saves time, it sends the intermediate data format, whether it be Y1, Y2, etc. (and content processor if needed) to the client. The transcoding proxy server may determine that time may be saved because the content processor of Y1, Y2, Y3, etc., is available at the client or because sending the intermediate data content processor/analyzer can be done while transcoding to the final output is proceeding.
It should be noted that to convert N formats to M formats without intermediate converters requires on the order of N×M transcoders. However, if there is an intermediate format (for example, the document object model of the World Wide Web consortium), there could be transcoders to and from all formats to the Document Object Model. In this case, the transcoding step would be Format A to Document Object Model to Format B. Thus, only (M+N) order of transcoders are necessary for interconversions.
It should also be noted that, while the present invention has been described primarily with reference to a single transcoding proxy server, it is possible to utilize multiple transcoding proxy servers with multiple transcoding steps. Such modifications will be obvious to those of ordinary skill in the art upon reading the description above in conjunction with the figures.
It should be further noted that, while the present invention is herein described primarily with reference to content or image transcoding, other embodiments of the present invention are applicable to other types of transcoding as well. For example, the present invention may also be applied to device transcoding and protocol transcoding.
Device transcoding is the process of converting data to fit device characteristics. For example, a user might desire that HTML data with color images be converted to a Palmpilot format at 160×160 resolution and 2-bit grayscale format. Here, the 160×160 resolution conversion and the 2-bit grayscale conversion are examples of device transcoding. Such transcoders can also be split among transcoding servers and clients, e.g., the Palmpilot may have a program that converts color images to 2-bit grayscale, but not have the transcoder to convert to 160×160 resolution.
Protocol transcoding (e.g., conversion of various protocols to HTTP) may also be accomplished utilizing the processes and apparatus of the present invention. Such protocol conversions can also be done in multiple stages in a transcoding proxy server. The client is not just a computer which is asking for data for viewing, but could be a protocol converter that is asking the transcoding proxy server for assistance with protocol conversion.
The transcoding proxy server is presented herein primarily with reference to an intermediate transcoding proxy server as depicted in FIG. 4. This is the most commercially valuable implementation of the present invention because the transcoding proxy server can act as an intermediary through which all data involved in the transcoding process passes. Advertisements that are inserted into the transcoded content can earn revenue for the stand-alone transcoding proxy server. However, it should be noted that the transcoding proxy server could also potentially be located in the same web server (i.e., originating server) on which the content is located, and installed on top of the web server. In this particular case, there are two modes of operation. In one mode of operation, the transcoding proxy server transcodes data only for the web server on which it is located. In a second mode of operation, the transcoding proxy server transcodes data for the web server on which it is located and also for other web servers on which other data is located.
Although the present invention is described primarily with reference to “conventional” data processing systems, such as personal computers, the present invention is also applicable to other data processing systems and electronic devices. Some examples of other devices include personal digital assistants (PDAs), smart phones, screen phones, and voice-drive car browsers. These other devices vary in terms of their input and output interfaces, screen real estate, and processing capabilities. Transcoding is needed to tailor data to these constrained devices. As noted earlier, the transcoding proxy server receives information conveying the attributes and capabilities of the device requesting content from an originating server. With many of these other devices, such as smart phones, the device itself does not have enough processing power to send this information directly. Therefore, a Universal Resource Link (URL) to a web site containing device attributes is often sent to the transcoding proxy server instead.
It is important to note that, while the present invention has been described in the context of a fully functioning data processing system, those of ordinary skill in the art will appreciate that the processes of the present invention are capable of being distributed in the form of a computer readable medium of instructions and a variety of forms, and that the present invention applies equally regardless of the particular type of signal bearing media actually used to carry out the distribution. Examples of computer readable media include recordable-type media, such as a floppy disc, a hard disk drive, a RAM, and CD-ROMs and transmission-type media, such as digital and analog communications links.
The description of the present invention is presented for purposes of illustration and description but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.

Claims (36)

What is claimed is:
1. A method in a data processing system for providing content from a distributed database to a client, comprising the steps of:
receiving, at a server, a request for content;
retrieving the content in a first format;
responsive to a determination that an increase in efficiency would be obtained by allowing the client to process the content in the first format prior to transcoding the content into a second format, sending the content to the client in the first format; and
responsive to a determination that the client does not have content processing software for the first format, sending the content processing software for the first format along with the content in the first format.
2. The method as recited in claim 1, further comprising transcoding the content from the first format into the second format.
3. The method as recited in claim , further comprising sending the content in the second format to the client.
4. The method as recited in claim 3, further comprising, responsive to a determination that the client does not have a content analyzer for the second format, sending a content analyzer for the second format in the client.
5. The method as recited in claim 3, further comprising processing the content on the client while awaiting the content in the second format.
6. The method as recited in claim 2, further comprising, responsive to a request from the client canceling the request for the content in the second format, stopping the transcoding.
7. A computer program product in a computer readable media for use in a data processing system for providing content from a distributed database to a client, the computer program product comprising:
first instructions for receiving, at a server, a request for content;
second instructions for retrieving the content in a first format;
third instructions, responsive to a determination that an increase in efficiency would be obtained by allowing the client to process the content in the first format prior to transcoding the content into a second format, for sending the content to the client in the first format; and
fourth instructions, responsive to a determination that the client does not have content processing software for the first format, for sending the content processing software for the first format along with the content in the first format.
8. The computer program product as recited in claim 7, further comprising fifth instructions for transcoding the content from the first format into the second format.
9. The computer program product as recited in claim 8, further comprising sixth instructions for sending the content in the second format to the client.
10. The computer program product as recited in claim 9, further comprising seventh instructions, responsive to a determination that the client does not have a content analyzer for the second format, for sending a content analyzer for the second format to the client.
11. The computer program product as recited in claim 9, further comprising seventh instructions for processing the content on the client while awaiting the content in the second format.
12. The computer program product as recited in claim 8, further comprising sixth instructions, responsive to a request from the client canceling the request for the content in the second format, for stopping the transcoding.
13. A system for providing content from a distributed database to a client, comprising:
means for receiving, at a server, a request for content;
means for retrieving the content in a first format;
means, responsive to a determination that an increase in efficiency would be obtained by allowing the client to process the content in the first format prior to transcoding the content into a second format, for sending the content to the client in the first format; and
means, responsive to a determination that the client does not have content processing software for the first format, for sending the content processing software for the first format along with the content in the first format.
14. The system as recited in claim 13, further comprising means for transcoding the content from the first format into the second format.
15. The system as recited in claim 14, further comprising means for sending the content in the second format to the client.
16. The system as recited in claim 15, further comprising means, responsive to a determination that the client does not have a content analyzer for the second format, for sending a content analyzer for the second format to the client.
17. The system as recited in claim 15, further comprising means for processing the content on the client while awaiting the content in the format.
18. The system as recited in claim 14, further comprising means, responsive to a request from the client canceling the request for the content in the second format, for stopping the transcoding.
19. A method in a data processing system for processing a request for a document, the method comprising the data processing system implemented steps of:
receiving a request for a document from a client;
obtaining the document in a first format; and
responsive to a determination that the client is unable to process the document in the first format, sending a document in the first format with computer implemented instructions for processing the document in the first format.
20. The method of claim 19, further comprising:
determining whether and increase on performance will occur at the client by sending the document in the first format with computer implemented instructions for processing the document in the first format; and
responsive to a determination that an increase in performance will occur at the client, enabling the sending step.
21. The method claim 19, further comprising:
transcoding the document into a second format; and
sending the document to the client in the first format, wherein the computer implemented instructions will halt the processing of the document in the first format if the document is received by the client in the second format prior to completing processing of the document in the first format with the computer implemented instructions.
22. The method of claim 19, wherein the document in the first format is a postscript file.
23. The method of claim 19, wherein the document in the first format is an XML page, and wherein the document in the second format is an HTML page.
24. A data processing system for processing a request for a document, the system comprising:
means for receiving a request for a document from a client;
means for obtaining the document in a first format; and
means, responsive to a determination that the client is unable to process the document in the first format, for sending a document in the first format with computer implemented instructions for processing the document in the first format.
25. The data processing system of claim 24, further comprising:
means for determining whether an increase in performance will occur at the client by sending the document in the first format with computer implemented instructions for processing the document in the first format; and
means, responsive to a determination that an increase in performance will occur at the client, for enabling the sending step.
26. The data processing system of claim 24, further comprising:
means for transcoding the document into as second format; and
means for sending the document to the client in the first format, wherein the computer implemented instructions will halt the processing of the document in the first format if the document is received by the client in the second format prior to completing processing of the document in the first format with the computer implemented instructions.
27. The data processing system of claim 24, wherein the document in the first format is a postscript file.
28. The data processing system of claim 24, wherein the document in the first is an XML page, and wherein the document in the second format is an HTML page.
29. A computer program product in a computer readable media for use in a data processing system for processing a request for a document, comprising:
first instructions for receiving a request for a document from a client;
second instructions for obtaining the document in a first format; and
third instructions, responsive to a determination that the client is unable to process the document in the first format, for sending the document in the first format with computer implemented instructions for processing the document in the first format.
30. The computer program product of claim 29, further comprising:
fourth instructions for determining whether an increase in performance will occur at the client by sending the document in the first format with computer implemented instructions for processing the document in the first format; and
fifth instruction, responsive to a determination that an increase in performance will occur at the client, for enabling the sending step.
31. The computer program product of claim 29, further comprising:
fourth instructions for transcoding the document into as second format; and
fifth instructions for sending the document to the client in the first format, wherein the computer implemented instructions will halt the processing of the document in the first format if the document is received by the client in the second format prior to completing processing of the document in the first format with the computer implemented instructions.
32. A method in a data processing system for providing content from a distributed database to a client, comprising the steps of:
receiving, at a server, a request for content;
retrieving the content in a first format;
transcoding the content from the first format into at least one intermediate format;
transcoding the content form the intermediated format into the requested format; and
responsive to a determination that an increase in efficiency would be obtained by allowing the client to process the content in the intermediated format prior to transcoding the content into the requested format, sending the content to the client in the intermediate format.
33. The method as recited in claim 32, further comprising sending the content in the requested format to the client.
34. The method as recited in claim 32, wherein the at least one intermediate format is a plurality of intermediate formats, and further comprising, responsive to a determination that an increase in efficiency would be obtained by allowing the client to process the content in any of the intermediated formats prior to transcoding the content into the requested format, sending the content to the client in one of the intermediated formats.
35. The method as recited in claim 32, further comprising transcoding the content from the intermediate format into the requested format on the client machine.
36. The method as recited in claim 35, further comprising canceling the request to the server for the content in the requested format if the transcoding on the client machine is completed prior to receiving the content in the requested format from the server.
US09/377,639 1999-08-19 1999-08-19 Dynamically provided content processor for transcoded data types at intermediate stages of transcoding process Expired - Lifetime US6615212B1 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
US09/377,639 US6615212B1 (en) 1999-08-19 1999-08-19 Dynamically provided content processor for transcoded data types at intermediate stages of transcoding process
CA2312449A CA2312449C (en) 1999-08-19 2000-06-20 Dynamically provided content processor for transcoded data types at intermediate stages of transcoding process
TW089114269A TW480418B (en) 1999-08-19 2000-07-17 Dynamically provided content processor for transcoded data types at intermediate stages of transcoding process
CNB001227033A CN1142513C (en) 1999-08-19 2000-08-08 Dynamic content supplied processor
KR10-2000-0046110A KR100403264B1 (en) 1999-08-19 2000-08-09 Dynamically provided content processor for transcoded data types at intermediate stages of transcoding process
JP2000241054A JP2001117810A (en) 1999-08-19 2000-08-09 Dynamically provided content processor for data type transcoded in intermediate stage of transcoding process
GB0019594A GB2356535B (en) 1999-08-19 2000-08-10 Dynamically provided content processor for transcoded data types at intermediate stages of transcoding process

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/377,639 US6615212B1 (en) 1999-08-19 1999-08-19 Dynamically provided content processor for transcoded data types at intermediate stages of transcoding process

Publications (1)

Publication Number Publication Date
US6615212B1 true US6615212B1 (en) 2003-09-02

Family

ID=23489929

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/377,639 Expired - Lifetime US6615212B1 (en) 1999-08-19 1999-08-19 Dynamically provided content processor for transcoded data types at intermediate stages of transcoding process

Country Status (7)

Country Link
US (1) US6615212B1 (en)
JP (1) JP2001117810A (en)
KR (1) KR100403264B1 (en)
CN (1) CN1142513C (en)
CA (1) CA2312449C (en)
GB (1) GB2356535B (en)
TW (1) TW480418B (en)

Cited By (128)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010014897A1 (en) * 1999-12-17 2001-08-16 Koichi Hata Method and apparatus for image data processing and computer program product used therein
US20010039555A1 (en) * 2000-04-14 2001-11-08 Sun Microsystems, Inc. User controllable document converter and methods thereof
US20010041973A1 (en) * 2000-02-22 2001-11-15 David Abkowitz Using one device to configure and emulate web site content to be displayed on another device
US20010047477A1 (en) * 2000-03-20 2001-11-29 Hiang-Swee Chiang Transparent user and session management for web applications
US20020004819A1 (en) * 2000-07-10 2002-01-10 David Agassy Device and method for data interception and updating
US20020040386A1 (en) * 2000-08-31 2002-04-04 Bertrand Berthelot Method and device for adapting the content of documents of an information server
US20020046262A1 (en) * 2000-08-18 2002-04-18 Joerg Heilig Data access system and method with proxy and remote processing
US20020082858A1 (en) * 2000-09-12 2002-06-27 Infolibria, Inc. Managing distribution and local execution of computing resources
US20020103822A1 (en) * 2001-02-01 2002-08-01 Isaac Miller Method and system for customizing an object for downloading via the internet
US20020143972A1 (en) * 2001-01-12 2002-10-03 Charilaos Christopoulos Interactive access, manipulation,sharing and exchange of multimedia data
US20020156833A1 (en) * 2001-04-20 2002-10-24 Palm, Inc. Content access from a communications network using a handheld computer system and method
US20020174135A1 (en) * 2001-03-14 2002-11-21 Steve Pellegrin Schema-based file conversion
US20030061307A1 (en) * 1999-09-16 2003-03-27 Neil Daswani Method and apparatus for restructuring of personalized data for transmission from a data network to connected and portable network appliances
US20030097482A1 (en) * 2001-09-28 2003-05-22 Dehart Scott Alan Two wire communication apparatus and method
US20030177269A1 (en) * 2002-03-14 2003-09-18 Robinson Ian N. Method and system that tailors format of transmission to suit client capabilities and link characteristics
US20030182450A1 (en) * 2002-03-05 2003-09-25 Ong Herbert T. Generic Infrastructure for converting documents between formats with merge capabilities
US20030187930A1 (en) * 2002-03-27 2003-10-02 International Business Machines Corporation Messaging system and method with transcoder filtering of baseline message representations
US20040049737A1 (en) * 2000-04-26 2004-03-11 Novarra, Inc. System and method for displaying information content with selective horizontal scrolling
US20040046778A1 (en) * 2002-09-09 2004-03-11 Niranjan Sithampara Babu System and method to transcode and playback digital versatile disc (DVD) content and other related applications
US20040059819A1 (en) * 2002-09-19 2004-03-25 Hardcastle Michael J. Regressive transport message delivery system and method
US20040088346A1 (en) * 2002-10-31 2004-05-06 Philipp Hassler Geo-server interface
US6742043B1 (en) * 2000-01-14 2004-05-25 Webtv Networks, Inc. Reformatting with modular proxy server
US20040103173A1 (en) * 2002-08-13 2004-05-27 International Business Machines Corporation Adaptive resource management method and system
US20040133848A1 (en) * 2000-04-26 2004-07-08 Novarra, Inc. System and method for providing and displaying information content
US20040139149A1 (en) * 2003-01-13 2004-07-15 Daniel De Sousa Network data acquisition system
US20040139147A1 (en) * 2001-04-23 2004-07-15 Jonathan Duquenne System and method for the dynamic distribution of data and/or services
US20040143646A1 (en) * 2002-12-30 2004-07-22 International Business Machines Corporation Method and apparatus for exchanging data using programmatic conversion to emulated HTML form data
US20040205618A1 (en) * 2001-11-19 2004-10-14 Jean Sini Runtime translator for mobile application content
US20050021631A1 (en) * 2003-05-08 2005-01-27 Venali, Inc. Premium messaging exchange
US20050030939A1 (en) * 2003-08-07 2005-02-10 Teamon Systems, Inc. Communications system including protocol interface device for use with multiple operating protocols and related methods
US20050030913A1 (en) * 2003-08-07 2005-02-10 Teamon Systems, Inc. Communications system providing adaptive polling based upon positive and negative polling events and related methods
US20050033841A1 (en) * 2003-08-08 2005-02-10 Teamon Systems, Inc. Communications system providing load balancing based upon connectivity disruptions and related methods
US20050033847A1 (en) * 2003-08-07 2005-02-10 Teamon Systems, Inc. Communications system providing reduced access latency and related methods
US20050033812A1 (en) * 2003-08-08 2005-02-10 Teamon Systems, Inc. Communications system providing message aggregation features and related methods
US20050033809A1 (en) * 2003-08-08 2005-02-10 Teamon Systems, Inc. Communications system providing server load balancing based upon weighted health metrics and related methods
US6857010B1 (en) * 2000-11-03 2005-02-15 Koninklijke Philips Electronics N.V. System for display information content on a screen having a limited viewing area by using statistics provided by a user history file to display in visible portion of the screen a user-controllable cursor on a most frequently previously selected matching hyperlink
US20050036498A1 (en) * 2003-08-11 2005-02-17 Teamon Systems, Inc. Communications system providing extensible protocol translation features and related methods
US20050038896A1 (en) * 2003-08-11 2005-02-17 Teamon Systems, Inc. Communications system providing shared client-server communications interface and related methods
US20050036513A1 (en) * 2003-08-11 2005-02-17 Teamon Systems, Inc. Communications system providing multi-layered extensible protocol interface and related methods
US20050038915A1 (en) * 2003-08-11 2005-02-17 Teamon Systems, Inc. Communications system with data storage device interface protocol connectors and related methods
US20050038873A1 (en) * 2003-08-11 2005-02-17 Teamon Systems, Inc. Communications system providing enhanced client-server communications and related methods
US20050038861A1 (en) * 2003-08-14 2005-02-17 Scott Lynn Method and system for dynamically generating electronic communications
US20050038897A1 (en) * 2003-08-11 2005-02-17 Teamon Systems, Inc. Communications system providing extensible protocol translation and configuration features and related methods
US20050041686A1 (en) * 2003-08-07 2005-02-24 Teamon Systems, Inc. Communications system including protocol interface device providing enhanced operating protocol selection features and related methods
US20050041652A1 (en) * 2003-08-07 2005-02-24 Teamon Systems, Inc. Communications system providing adaptive polling based upon user usage patterns and related methods
US20050132286A1 (en) * 2000-06-12 2005-06-16 Rohrabaugh Gary B. Resolution independent vector display of internet content
US20050192964A1 (en) * 2004-02-26 2005-09-01 Teamon Systems, Inc. Communications system having distributed database architecture and related methods
US20050204055A1 (en) * 2004-03-12 2005-09-15 Martinez Juan C. Automatic translation code generation
US20050201392A1 (en) * 2004-03-12 2005-09-15 Tam Derek H.K. Intermediary content gateway system and method
US20050223100A1 (en) * 2002-05-17 2005-10-06 Koninklijke Philips Electronics N.V. Rendering a first media type content on a browser
US6965947B1 (en) * 2000-10-06 2005-11-15 International Business Machines Corporation Method and apparatus for automated transcoder selection
US20050262440A1 (en) * 2004-05-21 2005-11-24 Microsoft Corporation Localization of XML via transformations
US6993585B1 (en) * 2000-12-22 2006-01-31 Unisys Corporation Method and system for handling transaction requests from workstations to OLTP enterprise server systems utilizing a common gateway
US20060036608A1 (en) * 2004-08-11 2006-02-16 Adknowledge, Inc. Method and system for generating and distributing electronic communications
US20060047779A1 (en) * 2004-07-12 2006-03-02 Sharp Laboratories Of America, Inc. HTTP agent-driven content negotiation for scalable video coding
US7013329B1 (en) * 2000-08-04 2006-03-14 Oracle International Corporation Techniques for programming event-driven transactions in mobile applications
US7051080B1 (en) 2000-08-04 2006-05-23 Oracle International Corporation Techniques for navigating in mobile applications
US20060112182A1 (en) * 2004-07-30 2006-05-25 Qualcomm Incorporated Methods and apparatus for subscribing to multimedia delivery services in a data network
US20060122883A1 (en) * 2004-08-11 2006-06-08 Lynn Scott W Method and system for generating and distributing electronic communications for maximum revenue
WO2006068391A1 (en) * 2004-12-20 2006-06-29 Lg Electronics Inc. Multimedia access system
US7072984B1 (en) * 2000-04-26 2006-07-04 Novarra, Inc. System and method for accessing customized information over the internet using a browser for a plurality of electronic devices
US20070074017A1 (en) * 2003-10-27 2007-03-29 Siemens Aktiengesellschaft Method for transmitting encrypted useful data objects
US7200809B1 (en) 1999-08-04 2007-04-03 Oracle International Corporation Multi-device support for mobile applications using XML
US20070169158A1 (en) * 2006-01-13 2007-07-19 Yahoo! Inc. Method and system for creating and applying dynamic media specification creator and applicator
US20070180367A1 (en) * 2000-03-07 2007-08-02 Gutenberg Printing Llc Server side web browsing and multiple lens system, method and apparatus
US20070179979A1 (en) * 2006-01-13 2007-08-02 Yahoo! Inc. Method and system for online remixing of digital multimedia
US20070192772A1 (en) * 2002-02-07 2007-08-16 De Bonet Jeremy S System, method and apparatus for modularized transformation processing in a network environment
US7269660B1 (en) * 2002-05-17 2007-09-11 Cisco Technology, Inc. Limited TCP/IP implementation using minimal resources
US20070226143A1 (en) * 2004-07-14 2007-09-27 Sony Corporation Contents Providing Apparatus, Method and System
US20070240072A1 (en) * 2006-04-10 2007-10-11 Yahoo! Inc. User interface for editing media assests
US20070277108A1 (en) * 2006-05-21 2007-11-29 Orgill Mark S Methods and apparatus for remote motion graphics authoring
WO2007084871A3 (en) * 2006-01-13 2008-04-03 Yahoo Inc Method and system for combining edit information with media content
US20080104171A1 (en) * 2000-03-01 2008-05-01 Intercall, Inc. Method and apparatus for automatically data streaming a multiparty conference session
WO2007084870A3 (en) * 2006-01-13 2008-05-08 Yahoo Inc Method and system for recording edits to media content
US20080140861A1 (en) * 2006-12-06 2008-06-12 Yahoo! Inc. Web Services Multi-Protocol Support
US20080180445A1 (en) * 2007-01-29 2008-07-31 Mark Peskin Output Management Systems And Methods
US20080184359A1 (en) * 2004-09-29 2008-07-31 Music Gremlin, Inc. Audio visual player apparatus and system and method of content distribution using the same
US20080201375A1 (en) * 2003-10-01 2008-08-21 Musicgremlin, Inc. Method and portable device with local catalog management
US20080215620A1 (en) * 2006-01-13 2008-09-04 Yahoo! Inc. Method and system for social remixing of media content
US7451232B1 (en) * 2000-05-25 2008-11-11 Microsoft Corporation Method for request and response direct data transfer and management of content manifests
US20090003603A1 (en) * 2007-06-29 2009-01-01 Metabeam Corporation Platform Independent Networked Communications
US20090006643A1 (en) * 2007-06-29 2009-01-01 The Chinese University Of Hong Kong Systems and methods for universal real-time media transcoding
US20090055519A1 (en) * 2007-08-24 2009-02-26 At&T Knowledge Ventures, L.P Method and system for media adaption
US7500188B1 (en) 2000-04-26 2009-03-03 Novarra, Inc. System and method for adapting information content for an electronic device
US7516197B1 (en) * 1999-10-21 2009-04-07 Panasonic Corporation Control content transmission method and storage-based broadcasting system
US20090094159A1 (en) * 2007-10-05 2009-04-09 Yahoo! Inc. Stock video purchase
US20090144610A1 (en) * 2007-06-14 2009-06-04 Aristocrat Technologies Australia Pty. Limited Translating xml with multiple namespace extensions
US20090172197A1 (en) * 2007-12-28 2009-07-02 Yahoo! Inc. Creating and editing media objects using web requests
US7574486B1 (en) * 2000-11-06 2009-08-11 Telecommunication Systems, Inc. Web page content translator
WO2009137910A1 (en) * 2008-05-10 2009-11-19 Vantrix Corporation Modular transcoding pipeline
US7636792B1 (en) * 2001-07-13 2009-12-22 Oracle International Corporation Methods and systems for dynamic and automatic content creation for mobile devices
US7689716B2 (en) 1998-12-08 2010-03-30 Nomadix, Inc. Systems and methods for providing dynamic network authorization, authentication and accounting
US20100093271A1 (en) * 2008-10-14 2010-04-15 Motorola, Inc. Method and Apparatus to Facilitate Selection of a Particular Alert Modality
KR100982761B1 (en) 2005-12-05 2010-09-16 후아웨이 테크놀러지 컴퍼니 리미티드 Dynamic content delivery method, personalized dynamic content enabler and dynamic content delivery system
US20100274870A1 (en) * 2008-10-10 2010-10-28 Mtld Top Level Domain Limited Transcoding web resources
US20100281373A1 (en) * 2009-04-30 2010-11-04 Yahoo! Inc. Method and system for annotating video content
US7849183B1 (en) 2004-08-31 2010-12-07 Precise Software Solutions, Inc. Method of monitoring network and application performance by analyzing web clients and web servers
US20110040831A1 (en) * 2002-08-19 2011-02-17 Macrosolve, Inc. System and method for data management
US20110126054A1 (en) * 2009-11-24 2011-05-26 At&T Intellectual Property I, L.P. Method, computer program product, and apparatus for deriving intelligence from format change requests
CN101557350B (en) * 2009-05-21 2011-11-16 中国建设银行股份有限公司 Data exchange method, data exchange module and service access system
US8156246B2 (en) 1998-12-08 2012-04-10 Nomadix, Inc. Systems and methods for providing content and services on a network system
RU2449488C2 (en) * 2007-08-21 2012-04-27 Чайна Мобайл Коммуникейшенс Корпорейшн Session access controller, multimedia ip subsystem and registration and method for session establishing using them
US8190708B1 (en) * 1999-10-22 2012-05-29 Nomadix, Inc. Gateway device having an XML interface and associated method
US20120158646A1 (en) * 2010-12-17 2012-06-21 Verizon Patent And Licensing Inc. Work order optimization
US8209222B2 (en) 2005-10-12 2012-06-26 Adknowledge, Inc. Method and system for encrypting data delivered over a network
US20120173961A1 (en) * 2010-09-14 2012-07-05 Accenture Global Services Limited Treatment controller
US20130054410A1 (en) * 2001-07-17 2013-02-28 Incucomm, Incorporated System and Method for Providing Requested Information to Thin Clients
US20130100954A1 (en) * 2000-02-04 2013-04-25 Edward Balassanian Media Routing
CN103235790A (en) * 2013-03-29 2013-08-07 深圳市中兴移动通信有限公司 Method and system for extending DLNA shared file types
US8613053B2 (en) 1998-12-08 2013-12-17 Nomadix, Inc. System and method for authorizing a portable communication device
US20140089359A1 (en) * 1998-11-13 2014-03-27 Jpmorgan Chase Bank, N.A. System and Method for Managing Information Retrievals for Integrated Digital and Analog Archives on a Global Basis
US8788527B1 (en) 2003-12-31 2014-07-22 Precise Software Solutions, Inc. Object-level database performance management
US20140215391A1 (en) * 2013-01-30 2014-07-31 Microsoft Corporation Virtual library providing content accessibility irrespective of content format and type
US8799103B1 (en) 2007-09-20 2014-08-05 Ariba, Inc. Client-side structured data capture and remote application integration using a web browser
US20140223024A1 (en) * 2005-04-20 2014-08-07 Jupiter Systems Interconnection mechanism for multiple data streams
US8806326B1 (en) * 2000-09-25 2014-08-12 Nokia Inc. User preference based content linking
US20150082051A1 (en) * 2013-09-18 2015-03-19 Ankur Aggarwal Method for Formatting and Distributing Electronic Data
US9141724B2 (en) 2010-04-19 2015-09-22 Afilias Technologies Limited Transcoder hinting
US9185182B2 (en) 2008-02-12 2015-11-10 Afilias Technologies Limited Determining a property of a communication device
US20160029053A1 (en) * 2013-03-11 2016-01-28 Zte Corporation Method for transmitting media data and virtual desktop server
US9369467B1 (en) * 2013-05-08 2016-06-14 Amdocs Software Systems Limited System, method, and computer program for providing generic access to web content on a mobile device
US20160285943A1 (en) * 2015-03-25 2016-09-29 Industrial Technology Research Institute Cloud operation resource dynamic allocation system and method thereof
US9529733B1 (en) * 2014-09-18 2016-12-27 Symantec Corporation Systems and methods for securely accessing encrypted data stores
US20170076382A1 (en) * 2015-09-14 2017-03-16 Bank Of America Corporation System for dynamic generation of allocation guide for assets
US10504146B2 (en) 2005-07-21 2019-12-10 Adknowledge, Inc. Method and system for delivering electronic communications
US10705862B2 (en) 2010-07-08 2020-07-07 Afilias Technologies Limited Server-based generation of user interfaces for delivery to mobile communication devices
US11005819B1 (en) 2011-12-05 2021-05-11 Menlo Security, Inc. Secure surrogate cloud browsing
US11611482B1 (en) 2020-06-12 2023-03-21 Menlo Security, Inc. Bandwidth throttling

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7526572B2 (en) 2001-07-12 2009-04-28 Research In Motion Limited System and method for providing remote data access for a mobile communication device
CN1324898C (en) * 2001-07-12 2007-07-04 捷讯研究有限公司 System and method for providing remote data access for a mobile communication device
EP1853038A3 (en) * 2001-07-12 2009-04-01 Research In Motion Limited System and method for providing remote data access for a mobile communication device
US20030120740A1 (en) * 2001-12-20 2003-06-26 Beeman Edward S. System and method for keeping data current
AU2003224610A1 (en) * 2002-02-07 2003-09-02 Idetic, Inc. An application programming interface (api) for plug-in modules performing protocol and payload transformation
JP3717861B2 (en) * 2002-03-18 2005-11-16 東日本電信電話株式会社 Information management system, information management method, information management system program, information management system recording medium, information management system compatible user terminal, and information management system dedicated adapter
EP1475941A1 (en) * 2003-05-08 2004-11-10 Harman/Becker Automotive Systems GmbH Scalable service provision to a vehicle entertainment and information processing device
CN100432998C (en) * 2003-08-07 2008-11-12 蒂蒙系统公司 Communication system providing reduced access latency and related methods
KR101136713B1 (en) 2004-02-18 2012-04-19 주식회사 케이티 Multi-transcoding web service method
JP4595361B2 (en) * 2004-03-19 2010-12-08 株式会社日立製作所 Content recording / reproducing apparatus and system
CN1783827B (en) * 2004-12-03 2011-09-21 旺宏电子股份有限公司 Distributive application environment format data transfer system and method
KR100697522B1 (en) * 2005-04-15 2007-03-20 엘지전자 주식회사 Method for multimedia data processing and set-top box using the same
US7930433B2 (en) * 2005-05-25 2011-04-19 Mitsubishi Electric Corporation Stream distribution system
CN100401288C (en) * 2005-05-30 2008-07-09 北京慧讯信息技术有限公司 Distributed data source data integration system and method
US7603438B2 (en) * 2005-10-13 2009-10-13 Kabushiki Kaisha Toshiba System and method for assisted entry of database schema data
US8266182B2 (en) * 2006-06-30 2012-09-11 Harmonic Inc. Transcoding for a distributed file system
US8224888B2 (en) * 2006-11-14 2012-07-17 Honeywell International Inc. Public variable interface system
US7734876B2 (en) * 2006-11-16 2010-06-08 International Business Machines Corporation Protecting ownership transfer with non-uniform protection windows
KR100917671B1 (en) * 2007-06-29 2009-09-18 주식회사 유비즈밸리 resolution optimization system of multimedia data.
US9488992B2 (en) 2008-10-16 2016-11-08 Honeywell International Inc. Wall module configuration tool
US8538588B2 (en) 2011-02-28 2013-09-17 Honeywell International Inc. Method and apparatus for configuring scheduling on a wall module
US9920944B2 (en) 2015-03-19 2018-03-20 Honeywell International Inc. Wall module display modification and sharing

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5513323A (en) * 1991-06-14 1996-04-30 International Business Machines Corporation Method and apparatus for multistage document format transformation in a data processing system
WO1997042728A2 (en) 1996-05-07 1997-11-13 Webline Communications Corporation Method and apparatus for coordinating internet multi-media content with telephone and audio communications
US5708828A (en) * 1995-05-25 1998-01-13 Reliant Data Systems System for converting data from input data environment using first format to output data environment using second format by executing the associations between their fields
US5754830A (en) 1996-04-01 1998-05-19 Openconnect Systems, Incorporated Server and web browser terminal emulator for persistent connection to a legacy host system and method of operation
JPH10187456A (en) 1996-12-27 1998-07-21 Hitachi Ltd Program download system
US5847957A (en) 1997-06-16 1998-12-08 Base Ten Systems, Inc. Web access for a manufacturing execution system
US5859972A (en) 1996-05-10 1999-01-12 The Board Of Trustees Of The University Of Illinois Multiple server repository and multiple server remote application virtual client computer
US5862220A (en) * 1996-06-03 1999-01-19 Webtv Networks, Inc. Method and apparatus for using network address information to improve the performance of network transactions
US5861883A (en) 1997-05-13 1999-01-19 International Business Machines Corp. Method and system for portably enabling awareness, touring, and conferencing over the world-wide web using proxies and shared-state servers
US5877759A (en) 1997-03-26 1999-03-02 Netscape Communications Corporation Interface for user/agent interaction
US5884097A (en) 1997-05-17 1999-03-16 Intertop Corporation Data structure and methods for defining and using attribute data blocks to instantiate objects and describe changes to objects
US5890129A (en) 1997-05-30 1999-03-30 Spurgeon; Loren J. System for exchanging health care insurance information
US5890158A (en) 1997-03-31 1999-03-30 International Business Machines Corporation Method, apparatus, and program storage device for sharing objects with a network server and a database server using a common object model
US5907598A (en) * 1997-02-20 1999-05-25 International Business Machines Corporation Multimedia web page applications for AIN telephony
US5918013A (en) * 1996-06-03 1999-06-29 Webtv Networks, Inc. Method of transcoding documents in a network environment using a proxy server
US6154738A (en) * 1998-03-27 2000-11-28 Call; Charles Gainor Methods and apparatus for disseminating product information via the internet using universal product codes
US6182092B1 (en) * 1997-07-14 2001-01-30 Microsoft Corporation Method and system for converting between structured language elements and objects embeddable in a document
US6247050B1 (en) * 1997-09-12 2001-06-12 Intel Corporation System for collecting and displaying performance improvement information for a computer
US6247048B1 (en) * 1998-04-30 2001-06-12 Openwave Systems Inc Method and apparatus for transcoding character sets between internet hosts and thin client devices over data networks
US6311215B1 (en) * 1997-03-25 2001-10-30 Intel Corporation System for dynamic determination of client communications capabilities

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06326856A (en) * 1993-05-17 1994-11-25 Hitachi Ltd Data recorder and its method
JPH06243019A (en) * 1993-02-19 1994-09-02 Fuji Xerox Co Ltd File conversion system
US5790793A (en) * 1995-04-04 1998-08-04 Higley; Thomas Method and system to create, transmit, receive and process information, including an address to further information
JPH11149448A (en) * 1997-11-18 1999-06-02 Sony Corp Network system, client terminal and relay server
US6338096B1 (en) * 1998-06-10 2002-01-08 International Business Machines Corporation System uses kernals of micro web server for supporting HTML web browser in providing HTML data format and HTTP protocol from variety of data sources

Patent Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5513323A (en) * 1991-06-14 1996-04-30 International Business Machines Corporation Method and apparatus for multistage document format transformation in a data processing system
US5708828A (en) * 1995-05-25 1998-01-13 Reliant Data Systems System for converting data from input data environment using first format to output data environment using second format by executing the associations between their fields
US5754830A (en) 1996-04-01 1998-05-19 Openconnect Systems, Incorporated Server and web browser terminal emulator for persistent connection to a legacy host system and method of operation
WO1997042728A2 (en) 1996-05-07 1997-11-13 Webline Communications Corporation Method and apparatus for coordinating internet multi-media content with telephone and audio communications
US5859972A (en) 1996-05-10 1999-01-12 The Board Of Trustees Of The University Of Illinois Multiple server repository and multiple server remote application virtual client computer
US5862220A (en) * 1996-06-03 1999-01-19 Webtv Networks, Inc. Method and apparatus for using network address information to improve the performance of network transactions
US5918013A (en) * 1996-06-03 1999-06-29 Webtv Networks, Inc. Method of transcoding documents in a network environment using a proxy server
JPH10187456A (en) 1996-12-27 1998-07-21 Hitachi Ltd Program download system
US5907598A (en) * 1997-02-20 1999-05-25 International Business Machines Corporation Multimedia web page applications for AIN telephony
US6311215B1 (en) * 1997-03-25 2001-10-30 Intel Corporation System for dynamic determination of client communications capabilities
US5877759A (en) 1997-03-26 1999-03-02 Netscape Communications Corporation Interface for user/agent interaction
US5890158A (en) 1997-03-31 1999-03-30 International Business Machines Corporation Method, apparatus, and program storage device for sharing objects with a network server and a database server using a common object model
US5861883A (en) 1997-05-13 1999-01-19 International Business Machines Corp. Method and system for portably enabling awareness, touring, and conferencing over the world-wide web using proxies and shared-state servers
US5884097A (en) 1997-05-17 1999-03-16 Intertop Corporation Data structure and methods for defining and using attribute data blocks to instantiate objects and describe changes to objects
US5890129A (en) 1997-05-30 1999-03-30 Spurgeon; Loren J. System for exchanging health care insurance information
US5847957A (en) 1997-06-16 1998-12-08 Base Ten Systems, Inc. Web access for a manufacturing execution system
US6182092B1 (en) * 1997-07-14 2001-01-30 Microsoft Corporation Method and system for converting between structured language elements and objects embeddable in a document
US6247050B1 (en) * 1997-09-12 2001-06-12 Intel Corporation System for collecting and displaying performance improvement information for a computer
US6154738A (en) * 1998-03-27 2000-11-28 Call; Charles Gainor Methods and apparatus for disseminating product information via the internet using universal product codes
US6247048B1 (en) * 1998-04-30 2001-06-12 Openwave Systems Inc Method and apparatus for transcoding character sets between internet hosts and thin client devices over data networks

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
Berg, C.; How Do I Display Media Formats That Netscape Does Not Support?; Dr. Dobb's Journal, vol 21, No. 10, pp. 111, 129, Oct. 1996-Abstract Only.
Berg, C.; How Do I Display Media Formats That Netscape Does Not Support?; Dr. Dobb's Journal, vol 21, No. 10, pp. 111, 129, Oct. 1996—Abstract Only.
Bharadvaj,H et al., An active transcoding proxy to support mobile web access, Reliable distributed systems, 1998 proceedings,IEEE Oct. 1998, pp. 118-123.* *
Han, R et al., Dynamic adaption in an image transcoding proxy for mobile web browsing, IEEE personal communications, Dec. 1998, pp. 8-17.* *
Kostler, et al.; Client Server Optimization For Multimedia Document Exchange; Database Systems for Advanced Applications '97 Proceedings of the Fifth International Conference, pp. Singapore, 1997-Abstract Only.
Kostler, et al.; Client Server Optimization For Multimedia Document Exchange; Database Systems for Advanced Applications '97 Proceedings of the Fifth International Conference, pp. Singapore, 1997—Abstract Only.
Masahiro HOri et al., Annotation of Web content for transcoding, W3C note Jul. 10, 1999, pp. 1-15, www.w3.org/tr/annot/.* *
Richard Han et al., transcoding of the Internet's multimedia content for universal access, excerpt from book"multimedia communications:directions & Innovations", chapter 15, ed.Jerry D.Gibson, Academic Press, 2000, pp. 1-10.* *

Cited By (285)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140089359A1 (en) * 1998-11-13 2014-03-27 Jpmorgan Chase Bank, N.A. System and Method for Managing Information Retrievals for Integrated Digital and Analog Archives on a Global Basis
US8725899B2 (en) 1998-12-08 2014-05-13 Nomadix, Inc. Systems and methods for providing content and services on a network system
US10110436B2 (en) 1998-12-08 2018-10-23 Nomadix, Inc. Systems and methods for providing content and services on a network system
US9548935B2 (en) 1998-12-08 2017-01-17 Nomadix, Inc. Systems and methods for providing content and services on a network system
US8606917B2 (en) 1998-12-08 2013-12-10 Nomadix, Inc. Systems and methods for providing content and services on a network system
US8613053B2 (en) 1998-12-08 2013-12-17 Nomadix, Inc. System and method for authorizing a portable communication device
US8266269B2 (en) 1998-12-08 2012-09-11 Nomadix, Inc. Systems and methods for providing content and services on a network system
US8266266B2 (en) 1998-12-08 2012-09-11 Nomadix, Inc. Systems and methods for providing dynamic network authorization, authentication and accounting
US7689716B2 (en) 1998-12-08 2010-03-30 Nomadix, Inc. Systems and methods for providing dynamic network authorization, authentication and accounting
US9160672B2 (en) 1998-12-08 2015-10-13 Nomadix, Inc. Systems and methods for controlling user perceived connection speed
US8713641B1 (en) 1998-12-08 2014-04-29 Nomadix, Inc. Systems and methods for authorizing, authenticating and accounting users having transparent computer access to a network using a gateway device
US10341243B2 (en) 1998-12-08 2019-07-02 Nomadix, Inc. Systems and methods for providing content and services on a network system
US8244886B2 (en) 1998-12-08 2012-08-14 Nomadix, Inc. Systems and methods for providing content and services on a network system
US8364806B2 (en) 1998-12-08 2013-01-29 Nomadix, Inc. Systems and methods for providing content and services on a network system
US8370477B2 (en) 1998-12-08 2013-02-05 Nomadix, Inc. Systems and methods for providing content and services on a network system
US8156246B2 (en) 1998-12-08 2012-04-10 Nomadix, Inc. Systems and methods for providing content and services on a network system
US8788690B2 (en) 1998-12-08 2014-07-22 Nomadix, Inc. Systems and methods for providing content and services on a network system
US8725888B2 (en) 1998-12-08 2014-05-13 Nomadix, Inc. Systems and methods for providing content and services on a network system
US7200809B1 (en) 1999-08-04 2007-04-03 Oracle International Corporation Multi-device support for mobile applications using XML
US7263548B2 (en) * 1999-09-16 2007-08-28 Yodlee.Com Method and apparatus for restructuring of personalized data for transmission from a data network to connected and portable network appliances
US20030061307A1 (en) * 1999-09-16 2003-03-27 Neil Daswani Method and apparatus for restructuring of personalized data for transmission from a data network to connected and portable network appliances
US7516197B1 (en) * 1999-10-21 2009-04-07 Panasonic Corporation Control content transmission method and storage-based broadcasting system
US8516083B2 (en) 1999-10-22 2013-08-20 Nomadix, Inc. Systems and methods of communicating using XML
US8190708B1 (en) * 1999-10-22 2012-05-29 Nomadix, Inc. Gateway device having an XML interface and associated method
US20010014897A1 (en) * 1999-12-17 2001-08-16 Koichi Hata Method and apparatus for image data processing and computer program product used therein
US6742043B1 (en) * 2000-01-14 2004-05-25 Webtv Networks, Inc. Reformatting with modular proxy server
US20130100954A1 (en) * 2000-02-04 2013-04-25 Edward Balassanian Media Routing
US6993575B2 (en) * 2000-02-22 2006-01-31 Oracle International Corporation Using one device to configure and emulate web site content to be displayed on another device
US20010041973A1 (en) * 2000-02-22 2001-11-15 David Abkowitz Using one device to configure and emulate web site content to be displayed on another device
US20080104171A1 (en) * 2000-03-01 2008-05-01 Intercall, Inc. Method and apparatus for automatically data streaming a multiparty conference session
US8595296B2 (en) * 2000-03-01 2013-11-26 Open Invention Network, Llc Method and apparatus for automatically data streaming a multiparty conference session
US9967299B1 (en) 2000-03-01 2018-05-08 Red Hat, Inc. Method and apparatus for automatically data streaming a multiparty conference session
US20070180367A1 (en) * 2000-03-07 2007-08-02 Gutenberg Printing Llc Server side web browsing and multiple lens system, method and apparatus
US20110145696A1 (en) * 2000-03-07 2011-06-16 Gutenberg Printing Llc Server side web browsing and multiple lens system, method and apparatus
US20080155012A1 (en) * 2000-03-07 2008-06-26 Gutenberg Printing Llc Server side web browsing and multiple lens system, method and apparatus
US7890856B2 (en) * 2000-03-07 2011-02-15 Hiang Swee Chiang Server side web browsing and multiple lens system, method and apparatus
US9684734B2 (en) 2000-03-07 2017-06-20 Zarbaña Digital Fund Llc Server side web browsing and multiple lens system, methods and apparatus
US7996766B2 (en) 2000-03-07 2011-08-09 Gutenberg Printing, Llc Server side web browsing and multiple lens system, method and apparatus
US20070198914A1 (en) * 2000-03-07 2007-08-23 Hiang Swee Chiang Server side web browsing and multiple lens system, method and apparatus
US20010047477A1 (en) * 2000-03-20 2001-11-29 Hiang-Swee Chiang Transparent user and session management for web applications
US6952802B2 (en) * 2000-04-14 2005-10-04 Sun Microsystems, Inc. User controllable document converter and methods thereof
US20010039555A1 (en) * 2000-04-14 2001-11-08 Sun Microsystems, Inc. User controllable document converter and methods thereof
US20090125809A1 (en) * 2000-04-26 2009-05-14 Novarra, Inc. System and Method for Adapting Information Content for an Electronic Device
US20100228880A1 (en) * 2000-04-26 2010-09-09 Simon Hunt System and Method for Providing and Displaying Information Content
US20040049737A1 (en) * 2000-04-26 2004-03-11 Novarra, Inc. System and method for displaying information content with selective horizontal scrolling
US7072984B1 (en) * 2000-04-26 2006-07-04 Novarra, Inc. System and method for accessing customized information over the internet using a browser for a plurality of electronic devices
US7747782B2 (en) 2000-04-26 2010-06-29 Novarra, Inc. System and method for providing and displaying information content
US20100268773A1 (en) * 2000-04-26 2010-10-21 Novarra, Inc. System and Method for Displaying Information Content with Selective Horizontal Scrolling
US7500188B1 (en) 2000-04-26 2009-03-03 Novarra, Inc. System and method for adapting information content for an electronic device
US20040133848A1 (en) * 2000-04-26 2004-07-08 Novarra, Inc. System and method for providing and displaying information content
US7451232B1 (en) * 2000-05-25 2008-11-11 Microsoft Corporation Method for request and response direct data transfer and management of content manifests
US10083154B2 (en) 2000-06-12 2018-09-25 Softview, L.L.C. Scalable display of internet content on mobile devices
US20050131887A1 (en) * 2000-06-12 2005-06-16 Rohrabaugh Gary B. Resolution independent vector display of internet content
US20070198917A1 (en) * 2000-06-12 2007-08-23 Rohrabaugh Gary B Resolution independent vector display of internet content
US10394934B2 (en) 2000-06-12 2019-08-27 Softview, L.L.C. Scalable display of internet content on mobile devices
US20070288855A1 (en) * 2000-06-12 2007-12-13 Rohrabaugh Gary B Resolution Independent Vector Display of Internet Content
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
US7831926B2 (en) 2000-06-12 2010-11-09 Softview Llc Scalable display of internet content on mobile devices
US8145995B2 (en) 2000-06-12 2012-03-27 Softview L.L.C. Scalable display of internet content on mobile devices
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
US20070198916A1 (en) * 2000-06-12 2007-08-23 Rohrabaugh Gary B Resolution independent vector display of internet content
US20090119580A1 (en) * 2000-06-12 2009-05-07 Gary B. Rohrabaugh Scalable Display of Internet Content on Mobile Devices
US20070288841A1 (en) * 2000-06-12 2007-12-13 Rohrabaugh Gary B Scalable Display of Internet Content on Mobile Devices
US7844889B2 (en) 2000-06-12 2010-11-30 Softview Llc Resolution independent display of internet content
US7584423B2 (en) * 2000-06-12 2009-09-01 Gary Rohrabaugh Method, proxy and system to support full-page web browsing on hand-held devices
US20050132286A1 (en) * 2000-06-12 2005-06-16 Rohrabaugh Gary B. Resolution independent vector display of internet content
US7461353B2 (en) 2000-06-12 2008-12-02 Gary Rohrabaugh Scalable display of internet content on mobile devices
US20080028335A1 (en) * 2000-06-12 2008-01-31 Rohrabaugh Gary B Scalable display of internet content on mobile devices
US20020004819A1 (en) * 2000-07-10 2002-01-10 David Agassy Device and method for data interception and updating
US7188183B1 (en) 2000-08-04 2007-03-06 Oracle International Corporation Maintaining state information in mobile applications
US20080215733A1 (en) * 2000-08-04 2008-09-04 Oracle International Corporation Techniques for supporting multiple devices in mobile applications
US7051080B1 (en) 2000-08-04 2006-05-23 Oracle International Corporation Techniques for navigating in mobile applications
US7873722B2 (en) 2000-08-04 2011-01-18 Oracle International Corporation Techniques for supporting multiple devices in mobile applications
US7013329B1 (en) * 2000-08-04 2006-03-14 Oracle International Corporation Techniques for programming event-driven transactions in mobile applications
US8700993B2 (en) 2000-08-04 2014-04-15 Oracle International Corporation Techniques for supporting multiple devices in mobile applications
US7373422B1 (en) * 2000-08-04 2008-05-13 Oracle International Corporation Techniques for supporting multiple devices in mobile applications
US20110131484A1 (en) * 2000-08-04 2011-06-02 Oracle International Corporation Techniques for supporting multiple devices in mobile applications
US20020046262A1 (en) * 2000-08-18 2002-04-18 Joerg Heilig Data access system and method with proxy and remote processing
US20020040386A1 (en) * 2000-08-31 2002-04-04 Bertrand Berthelot Method and device for adapting the content of documents of an information server
US20020082858A1 (en) * 2000-09-12 2002-06-27 Infolibria, Inc. Managing distribution and local execution of computing resources
US8806326B1 (en) * 2000-09-25 2014-08-12 Nokia Inc. User preference based content linking
US6965947B1 (en) * 2000-10-06 2005-11-15 International Business Machines Corporation Method and apparatus for automated transcoder selection
US6857010B1 (en) * 2000-11-03 2005-02-15 Koninklijke Philips Electronics N.V. System for display information content on a screen having a limited viewing area by using statistics provided by a user history file to display in visible portion of the screen a user-controllable cursor on a most frequently previously selected matching hyperlink
US8793341B2 (en) 2000-11-06 2014-07-29 Crfd Research, Inc. Web page content translator
US20100017502A1 (en) * 2000-11-06 2010-01-21 Yin Cheng Web page content translator
US20100017464A1 (en) * 2000-11-06 2010-01-21 Yin Cheng Web page content translator
US7574486B1 (en) * 2000-11-06 2009-08-11 Telecommunication Systems, Inc. Web page content translator
US6993585B1 (en) * 2000-12-22 2006-01-31 Unisys Corporation Method and system for handling transaction requests from workstations to OLTP enterprise server systems utilizing a common gateway
US6961754B2 (en) * 2001-01-12 2005-11-01 Telefonaktiebolaget Lm Ericsson Interactive access, manipulation, sharing and exchange of multimedia data
US20020143972A1 (en) * 2001-01-12 2002-10-03 Charilaos Christopoulos Interactive access, manipulation,sharing and exchange of multimedia data
US20020103822A1 (en) * 2001-02-01 2002-08-01 Isaac Miller Method and system for customizing an object for downloading via the internet
US20020174135A1 (en) * 2001-03-14 2002-11-21 Steve Pellegrin Schema-based file conversion
US6981006B2 (en) * 2001-03-14 2005-12-27 Adobe Systems Incorporated Schema-based file conversion
US7747781B2 (en) * 2001-04-20 2010-06-29 Palmsource Inc. Content access from a communications network using a handheld computer system and method
US20100268848A1 (en) * 2001-04-20 2010-10-21 Palmsource, Inc. Content access from a communications network using a handheld computer system and method
US20020156833A1 (en) * 2001-04-20 2002-10-24 Palm, Inc. Content access from a communications network using a handheld computer system and method
US20040139147A1 (en) * 2001-04-23 2004-07-15 Jonathan Duquenne System and method for the dynamic distribution of data and/or services
US7636792B1 (en) * 2001-07-13 2009-12-22 Oracle International Corporation Methods and systems for dynamic and automatic content creation for mobile devices
US20130054410A1 (en) * 2001-07-17 2013-02-28 Incucomm, Incorporated System and Method for Providing Requested Information to Thin Clients
US7756917B2 (en) * 2001-09-28 2010-07-13 Baseline, Llc Two wire communication apparatus and method
US20030097482A1 (en) * 2001-09-28 2003-05-22 Dehart Scott Alan Two wire communication apparatus and method
US20040205618A1 (en) * 2001-11-19 2004-10-14 Jean Sini Runtime translator for mobile application content
US20070192772A1 (en) * 2002-02-07 2007-08-16 De Bonet Jeremy S System, method and apparatus for modularized transformation processing in a network environment
US7478170B2 (en) * 2002-03-05 2009-01-13 Sun Microsystems, Inc. Generic infrastructure for converting documents between formats with merge capabilities
US20030182450A1 (en) * 2002-03-05 2003-09-25 Ong Herbert T. Generic Infrastructure for converting documents between formats with merge capabilities
US20030177269A1 (en) * 2002-03-14 2003-09-18 Robinson Ian N. Method and system that tailors format of transmission to suit client capabilities and link characteristics
US7219163B2 (en) * 2002-03-14 2007-05-15 Hewlett-Packard Development Company, L.P. Method and system that tailors format of transmission to suit client capabilities and link characteristics
US20030187930A1 (en) * 2002-03-27 2003-10-02 International Business Machines Corporation Messaging system and method with transcoder filtering of baseline message representations
US6978316B2 (en) * 2002-03-27 2005-12-20 International Business Machines Corporation Messaging system and method with transcoder filtering of baseline message representations
US7269660B1 (en) * 2002-05-17 2007-09-11 Cisco Technology, Inc. Limited TCP/IP implementation using minimal resources
US20050223100A1 (en) * 2002-05-17 2005-10-06 Koninklijke Philips Electronics N.V. Rendering a first media type content on a browser
US20040103173A1 (en) * 2002-08-13 2004-05-27 International Business Machines Corporation Adaptive resource management method and system
US20090119390A1 (en) * 2002-08-13 2009-05-07 International Business Machines Corporation Adaptive Resource Management Method and System
US8180868B2 (en) 2002-08-13 2012-05-15 International Business Machines Corporation Adaptive resource management
US7469409B2 (en) * 2002-08-13 2008-12-23 International Business Machines Corporation Adaptive resource management method
US9454748B2 (en) * 2002-08-19 2016-09-27 Ediche, Llc System and method for data management
US20110040831A1 (en) * 2002-08-19 2011-02-17 Macrosolve, Inc. System and method for data management
US20040046778A1 (en) * 2002-09-09 2004-03-11 Niranjan Sithampara Babu System and method to transcode and playback digital versatile disc (DVD) content and other related applications
US8046471B2 (en) * 2002-09-19 2011-10-25 Hewlett-Packard Development Company, L.P. Regressive transport message delivery system and method
US20040059819A1 (en) * 2002-09-19 2004-03-25 Hardcastle Michael J. Regressive transport message delivery system and method
US20040088346A1 (en) * 2002-10-31 2004-05-06 Philipp Hassler Geo-server interface
US20040143646A1 (en) * 2002-12-30 2004-07-22 International Business Machines Corporation Method and apparatus for exchanging data using programmatic conversion to emulated HTML form data
US7827238B2 (en) * 2002-12-30 2010-11-02 International Business Machines Corporation Exchanging data using programmatic conversion to emulated HTML form data
US7552168B2 (en) * 2002-12-30 2009-06-23 International Business Machines Corporation Method and apparatus for exchanging data using programmatic conversion to emulated HTML form data
US20090193076A1 (en) * 2002-12-30 2009-07-30 International Business Machines Corporation Exchanging Data Using Programmatic Conversion to Emulated HTML Form Data
US20040139149A1 (en) * 2003-01-13 2004-07-15 Daniel De Sousa Network data acquisition system
US20050021631A1 (en) * 2003-05-08 2005-01-27 Venali, Inc. Premium messaging exchange
US7114004B2 (en) * 2003-05-08 2006-09-26 Vernall, Inc. Premium messaging exchange
US20050041652A1 (en) * 2003-08-07 2005-02-24 Teamon Systems, Inc. Communications system providing adaptive polling based upon user usage patterns and related methods
US20080294731A1 (en) * 2003-08-07 2008-11-27 Teamon Systems, Inc.,A Delaware Corporation Communications system providing adaptive polling based upon user usage patterns and related methods
US7894425B2 (en) 2003-08-07 2011-02-22 Teamon Systems, Inc. Communications system providing adaptive polling based upon user usage patterns and related methods
US8028078B2 (en) 2003-08-07 2011-09-27 Teamon Systems, Inc. Communications system including protocol interface device providing enhanced operating protocol selection features and related methods
US8032593B2 (en) 2003-08-07 2011-10-04 Teamon Systems, Inc. Communications system providing reduced access latency and related methods
US8094592B2 (en) 2003-08-07 2012-01-10 Teamon Systems, Inc. Communications system providing adaptive polling based upon positive and negative polling events and related methods
US8135759B2 (en) 2003-08-07 2012-03-13 Teamon Systems, Inc. Communications system including protocol interface device for use with multiple operating protocols and related methods
US20050030939A1 (en) * 2003-08-07 2005-02-10 Teamon Systems, Inc. Communications system including protocol interface device for use with multiple operating protocols and related methods
US20050030913A1 (en) * 2003-08-07 2005-02-10 Teamon Systems, Inc. Communications system providing adaptive polling based upon positive and negative polling events and related methods
US20050033847A1 (en) * 2003-08-07 2005-02-10 Teamon Systems, Inc. Communications system providing reduced access latency and related methods
US20070268849A1 (en) * 2003-08-07 2007-11-22 Teamon Systems, Inc. Communications system providing adaptive polling based upon positive and negative polling events and related methods
US20050041686A1 (en) * 2003-08-07 2005-02-24 Teamon Systems, Inc. Communications system including protocol interface device providing enhanced operating protocol selection features and related methods
US7289495B2 (en) 2003-08-07 2007-10-30 Teamon Systems, Inc. Communications system providing adaptive polling based upon user usage patterns and related methods
US8285805B2 (en) 2003-08-07 2012-10-09 Teamon Systems, Inc. Communications system including protocol interface device providing enhanced operating protocol selection features and related methods
US8553601B2 (en) 2003-08-07 2013-10-08 Teamon Systems, Inc. Communications system providing adaptive polling based upon positive and negative polling events and related methods
US7280537B2 (en) 2003-08-07 2007-10-09 Teamon Systems, Inc. Communications system providing adaptive polling based upon positive and negative polling events and related methods
WO2005018247A3 (en) * 2003-08-07 2005-05-26 Teamon Systems Inc Communications system including protocol interface device for use with multiple operating protocols and related methods
US8463864B2 (en) 2003-08-07 2013-06-11 Teamon Systems, Inc. Communications system including protocol interface device providing enhanced operating protocol selection features and related methods
US20100153493A1 (en) * 2003-08-07 2010-06-17 Teamon Systems, Inc. Communications system providing extensible protocol translation and configuration features and related methods
US7111047B2 (en) 2003-08-08 2006-09-19 Teamon Systems, Inc. Communications system providing message aggregation features and related methods
US20100179999A1 (en) * 2003-08-08 2010-07-15 Teamon Systems, Inc. Communications system providing message aggregation features and related methods
US8364769B2 (en) 2003-08-08 2013-01-29 Teamon Systems, Inc. Communications system providing message aggregation features and related methods
US20070203994A1 (en) * 2003-08-08 2007-08-30 Mccarthy Steven J Communications system providing message aggregation features and related methods
US7689656B2 (en) 2003-08-08 2010-03-30 Teamon Systems, Inc. Communications system providing message aggregation features and related methods
US20050033841A1 (en) * 2003-08-08 2005-02-10 Teamon Systems, Inc. Communications system providing load balancing based upon connectivity disruptions and related methods
US8549078B2 (en) 2003-08-08 2013-10-01 Teamon Systems, Inc. Communications system providing load balancing based upon connectivity disruptions and related methods
US20050033812A1 (en) * 2003-08-08 2005-02-10 Teamon Systems, Inc. Communications system providing message aggregation features and related methods
US20050033809A1 (en) * 2003-08-08 2005-02-10 Teamon Systems, Inc. Communications system providing server load balancing based upon weighted health metrics and related methods
US20100293259A1 (en) * 2003-08-11 2010-11-18 Teamon Systems, Inc. Communications system providing multi-layered extensible protocol interface and related methods
US8205002B2 (en) 2003-08-11 2012-06-19 Teamon Systems, Inc. Communications system providing extensible protocol translation features and related methods
US20050036498A1 (en) * 2003-08-11 2005-02-17 Teamon Systems, Inc. Communications system providing extensible protocol translation features and related methods
US7644170B2 (en) 2003-08-11 2010-01-05 Teamon Systems, Inc. Communications system providing extensible protocol translation features and related methods
US20050038896A1 (en) * 2003-08-11 2005-02-17 Teamon Systems, Inc. Communications system providing shared client-server communications interface and related methods
US7774486B2 (en) 2003-08-11 2010-08-10 Teamon Systems, Inc. Communications system providing multi-layered extensible protocol interface and related methods
US7788410B2 (en) 2003-08-11 2010-08-31 Teamon Systems, Inc. Communications system providing enhanced client-server communications and related methods
US20050036513A1 (en) * 2003-08-11 2005-02-17 Teamon Systems, Inc. Communications system providing multi-layered extensible protocol interface and related methods
US20050038915A1 (en) * 2003-08-11 2005-02-17 Teamon Systems, Inc. Communications system with data storage device interface protocol connectors and related methods
US20050038873A1 (en) * 2003-08-11 2005-02-17 Teamon Systems, Inc. Communications system providing enhanced client-server communications and related methods
US8145709B2 (en) 2003-08-11 2012-03-27 Teamon Systems, Inc. Communications system providing enhanced client-server communications and related methods
US20080307051A1 (en) * 2003-08-11 2008-12-11 Teamon Systems, Inc., A Delaware Corporation Communications system providing enhanced client-server communications and related methods
US7289975B2 (en) * 2003-08-11 2007-10-30 Teamon Systems, Inc. Communications system with data storage device interface protocol connectors and related methods
US8352548B2 (en) 2003-08-11 2013-01-08 Teamon Systems, Inc. Communications system providing enhanced client-server communications and related methods
US20050038897A1 (en) * 2003-08-11 2005-02-17 Teamon Systems, Inc. Communications system providing extensible protocol translation and configuration features and related methods
US7418520B2 (en) 2003-08-11 2008-08-26 Teamon Systems, Inc. Communications system providing shared client-server communications interface and related methods
US7418477B2 (en) 2003-08-11 2008-08-26 Teamon Systems, Inc. Communications system providing enhanced client-server communications and related methods
US7685302B2 (en) 2003-08-11 2010-03-23 Teamon Systems, Inc. Communications system providing extensible protocol translation and configuration features and related methods
US20100061310A1 (en) * 2003-08-11 2010-03-11 Teamon Systems, Inc. Communications system providing extensible protocol translation features and related methods
US7644185B2 (en) 2003-08-11 2010-01-05 Teamon Systems, Inc. Communications system providing shared client-server communications interface and related methods
US20100325210A1 (en) * 2003-08-11 2010-12-23 Teamon Systems, Inc., A Delaware Corporation Communications system providing enhanced client-server communications and related methods
US7107357B2 (en) 2003-08-11 2006-09-12 Teamon Systems, Inc. Communications system providing shared client-server communications interface and related methods
US7107310B2 (en) 2003-08-11 2006-09-12 Teamon Systems, Inc. Communications system providing enhanced client-server communications and related methods
US8626845B2 (en) 2003-08-14 2014-01-07 Adknowledge, Inc. Method and system for dynamically generating electronic communications
US20100106788A1 (en) * 2003-08-14 2010-04-29 Adknowledge, Inc. Method and system for dynamically generating electronic communications
US20050038861A1 (en) * 2003-08-14 2005-02-17 Scott Lynn Method and system for dynamically generating electronic communications
US9026033B2 (en) 2003-10-01 2015-05-05 Sandisk Technologies Inc. Audio visual player apparatus and system and method of content distribution using the same
US20080305738A1 (en) * 2003-10-01 2008-12-11 Musicgremlin, Inc. System displaying received content on a portable wireless media device
US20080212945A1 (en) * 2003-10-01 2008-09-04 Music Gremlin, Inc. Method for acquiring digital content
US8700739B2 (en) 2003-10-01 2014-04-15 Sandisk Technologies Inc. Device for automatically receiving new digital content from a network
US20080212944A1 (en) * 2003-10-01 2008-09-04 Musicgremlin, Inc. Network system of media players sharing content
US9092519B2 (en) 2003-10-01 2015-07-28 Sandisk Technologies Inc. Method and system for updating a list of content stored on a user-operated device
US8160495B2 (en) 2003-10-01 2012-04-17 Sandisk Technologies Inc. Wireless portable device for sharing digital content items
US9081781B2 (en) 2003-10-01 2015-07-14 Sandisk Technologies Inc. Wireless portable device for creating and wirelessly transmitting digital audio and/or video
US20080201375A1 (en) * 2003-10-01 2008-08-21 Musicgremlin, Inc. Method and portable device with local catalog management
US20080187115A1 (en) * 2003-10-01 2008-08-07 Music Gremlin, Inc. Audio visual player apparatus and system and method of content distribution using the same
US7877598B2 (en) * 2003-10-27 2011-01-25 Siemens Aktiengesellschaft Method for transmitting encrypted user data objects
US20070074017A1 (en) * 2003-10-27 2007-03-29 Siemens Aktiengesellschaft Method for transmitting encrypted useful data objects
US8788527B1 (en) 2003-12-31 2014-07-22 Precise Software Solutions, Inc. Object-level database performance management
US20050192964A1 (en) * 2004-02-26 2005-09-01 Teamon Systems, Inc. Communications system having distributed database architecture and related methods
US7934012B2 (en) * 2004-03-12 2011-04-26 Sap Ag Automatic translation code generation
US20050201392A1 (en) * 2004-03-12 2005-09-15 Tam Derek H.K. Intermediary content gateway system and method
US20050204055A1 (en) * 2004-03-12 2005-09-15 Martinez Juan C. Automatic translation code generation
US7656885B2 (en) * 2004-03-12 2010-02-02 Sybase 365, Inc. Intermediary content gateway system and method
US20050262440A1 (en) * 2004-05-21 2005-11-24 Microsoft Corporation Localization of XML via transformations
US20060047779A1 (en) * 2004-07-12 2006-03-02 Sharp Laboratories Of America, Inc. HTTP agent-driven content negotiation for scalable video coding
US20070226143A1 (en) * 2004-07-14 2007-09-27 Sony Corporation Contents Providing Apparatus, Method and System
US20060112182A1 (en) * 2004-07-30 2006-05-25 Qualcomm Incorporated Methods and apparatus for subscribing to multimedia delivery services in a data network
US9178948B2 (en) * 2004-07-30 2015-11-03 Qualcomm Incorporated Methods and apparatus for subscribing to multimedia delivery services in a data network
US8429190B2 (en) 2004-08-11 2013-04-23 Adknowledge, Inc. Method and system for generating and distributing electronic communications
US8249929B2 (en) 2004-08-11 2012-08-21 Adknowledge, Inc. Method and system for generating and distributing electronic communications for maximum revenue
US20060122883A1 (en) * 2004-08-11 2006-06-08 Lynn Scott W Method and system for generating and distributing electronic communications for maximum revenue
US20060036608A1 (en) * 2004-08-11 2006-02-16 Adknowledge, Inc. Method and system for generating and distributing electronic communications
US7849183B1 (en) 2004-08-31 2010-12-07 Precise Software Solutions, Inc. Method of monitoring network and application performance by analyzing web clients and web servers
US8438276B1 (en) 2004-08-31 2013-05-07 Precise Software Solutions, Inc. Method of monitoring network and application performance by analyzing web clients and web servers
US20080184359A1 (en) * 2004-09-29 2008-07-31 Music Gremlin, Inc. Audio visual player apparatus and system and method of content distribution using the same
US20060165083A1 (en) * 2004-12-20 2006-07-27 Lg Electronics Inc. Multimedia access system
US7983246B2 (en) * 2004-12-20 2011-07-19 Lg Electronics Inc. Multimedia access system
WO2006068391A1 (en) * 2004-12-20 2006-06-29 Lg Electronics Inc. Multimedia access system
US20140223024A1 (en) * 2005-04-20 2014-08-07 Jupiter Systems Interconnection mechanism for multiple data streams
US9549011B2 (en) * 2005-04-20 2017-01-17 Infocus Corporation Interconnection mechanism for multiple data streams
US20170237795A1 (en) * 2005-04-20 2017-08-17 Infocus Corporation Interconnection mechanism for multiple data streams
US10469553B2 (en) * 2005-04-20 2019-11-05 Jupiter Systems, Llc Interconnection mechanism for multiple data streams
US10504146B2 (en) 2005-07-21 2019-12-10 Adknowledge, Inc. Method and system for delivering electronic communications
US8209222B2 (en) 2005-10-12 2012-06-26 Adknowledge, Inc. Method and system for encrypting data delivered over a network
US9281939B2 (en) 2005-10-12 2016-03-08 Adknowledge, Inc. Method and system for encrypting data delivered over a network
KR100982761B1 (en) 2005-12-05 2010-09-16 후아웨이 테크놀러지 컴퍼니 리미티드 Dynamic content delivery method, personalized dynamic content enabler and dynamic content delivery system
US20070179979A1 (en) * 2006-01-13 2007-08-02 Yahoo! Inc. Method and system for online remixing of digital multimedia
WO2007084867A3 (en) * 2006-01-13 2008-04-03 Yahoo Inc Method and system for online remixing of digital multimedia
WO2007084871A3 (en) * 2006-01-13 2008-04-03 Yahoo Inc Method and system for combining edit information with media content
US20080215620A1 (en) * 2006-01-13 2008-09-04 Yahoo! Inc. Method and system for social remixing of media content
WO2007084870A3 (en) * 2006-01-13 2008-05-08 Yahoo Inc Method and system for recording edits to media content
US20070169158A1 (en) * 2006-01-13 2007-07-19 Yahoo! Inc. Method and system for creating and applying dynamic media specification creator and applicator
US8411758B2 (en) 2006-01-13 2013-04-02 Yahoo! Inc. Method and system for online remixing of digital multimedia
US20090103835A1 (en) * 2006-01-13 2009-04-23 Yahoo! Inc. Method and system for combining edit information with media content
US20090106093A1 (en) * 2006-01-13 2009-04-23 Yahoo! Inc. Method and system for publishing media content
US8868465B2 (en) 2006-01-13 2014-10-21 Yahoo! Inc. Method and system for publishing media content
US20070239787A1 (en) * 2006-04-10 2007-10-11 Yahoo! Inc. Video generation based on aggregate user data
US20080016245A1 (en) * 2006-04-10 2008-01-17 Yahoo! Inc. Client side editing application for optimizing editing of media assets originating from client and server
US20070240072A1 (en) * 2006-04-10 2007-10-11 Yahoo! Inc. User interface for editing media assests
US9601157B2 (en) 2006-05-21 2017-03-21 Mark S. Orgill Methods and apparatus for remote motion graphics authoring
US20070277108A1 (en) * 2006-05-21 2007-11-29 Orgill Mark S Methods and apparatus for remote motion graphics authoring
US7685304B2 (en) * 2006-12-06 2010-03-23 Yahoo! Inc. Web services multi-protocol support
US20080140861A1 (en) * 2006-12-06 2008-06-12 Yahoo! Inc. Web Services Multi-Protocol Support
US20080180445A1 (en) * 2007-01-29 2008-07-31 Mark Peskin Output Management Systems And Methods
US20090144610A1 (en) * 2007-06-14 2009-06-04 Aristocrat Technologies Australia Pty. Limited Translating xml with multiple namespace extensions
US20090006643A1 (en) * 2007-06-29 2009-01-01 The Chinese University Of Hong Kong Systems and methods for universal real-time media transcoding
US7962640B2 (en) * 2007-06-29 2011-06-14 The Chinese University Of Hong Kong Systems and methods for universal real-time media transcoding
US20090003603A1 (en) * 2007-06-29 2009-01-01 Metabeam Corporation Platform Independent Networked Communications
RU2449488C2 (en) * 2007-08-21 2012-04-27 Чайна Мобайл Коммуникейшенс Корпорейшн Session access controller, multimedia ip subsystem and registration and method for session establishing using them
US7720986B2 (en) * 2007-08-24 2010-05-18 At&T Intellectual Property I, L.P. Method and system for media adaption
US20100192190A1 (en) * 2007-08-24 2010-07-29 At&T Intellectual Property I, L.P. Method and system for media adaption
US9363572B2 (en) 2007-08-24 2016-06-07 At&T Intellectual Property I, Lp Method and system for media adaption
US20090055519A1 (en) * 2007-08-24 2009-02-26 At&T Knowledge Ventures, L.P Method and system for media adaption
US8799103B1 (en) 2007-09-20 2014-08-05 Ariba, Inc. Client-side structured data capture and remote application integration using a web browser
US20090094159A1 (en) * 2007-10-05 2009-04-09 Yahoo! Inc. Stock video purchase
US20090172197A1 (en) * 2007-12-28 2009-07-02 Yahoo! Inc. Creating and editing media objects using web requests
US7840661B2 (en) 2007-12-28 2010-11-23 Yahoo! Inc. Creating and editing media objects using web requests
US9185182B2 (en) 2008-02-12 2015-11-10 Afilias Technologies Limited Determining a property of a communication device
WO2009137910A1 (en) * 2008-05-10 2009-11-19 Vantrix Corporation Modular transcoding pipeline
US20100274870A1 (en) * 2008-10-10 2010-10-28 Mtld Top Level Domain Limited Transcoding web resources
US8396990B2 (en) * 2008-10-10 2013-03-12 Afilias Technologies Limited Transcoding web resources
US20100093271A1 (en) * 2008-10-14 2010-04-15 Motorola, Inc. Method and Apparatus to Facilitate Selection of a Particular Alert Modality
US8984406B2 (en) 2009-04-30 2015-03-17 Yahoo! Inc! Method and system for annotating video content
US20100281373A1 (en) * 2009-04-30 2010-11-04 Yahoo! Inc. Method and system for annotating video content
CN101557350B (en) * 2009-05-21 2011-11-16 中国建设银行股份有限公司 Data exchange method, data exchange module and service access system
US8644138B2 (en) * 2009-11-24 2014-02-04 At&T Intellectual Property I, L.P. Method, computer program product, and apparatus for deriving intelligence from format change requests
US20110126054A1 (en) * 2009-11-24 2011-05-26 At&T Intellectual Property I, L.P. Method, computer program product, and apparatus for deriving intelligence from format change requests
US9141724B2 (en) 2010-04-19 2015-09-22 Afilias Technologies Limited Transcoder hinting
US11385913B2 (en) 2010-07-08 2022-07-12 Deviceatlas Limited Server-based generation of user interfaces for delivery to mobile communication devices
US10705862B2 (en) 2010-07-08 2020-07-07 Afilias Technologies Limited Server-based generation of user interfaces for delivery to mobile communication devices
US20120173961A1 (en) * 2010-09-14 2012-07-05 Accenture Global Services Limited Treatment controller
US9558285B2 (en) * 2010-09-14 2017-01-31 Accenture Global Services Limited Treatment controller
US20120158646A1 (en) * 2010-12-17 2012-06-21 Verizon Patent And Licensing Inc. Work order optimization
US9213955B2 (en) * 2010-12-17 2015-12-15 Verizon Patent And Licensing Inc. Work order optimization
US11005819B1 (en) 2011-12-05 2021-05-11 Menlo Security, Inc. Secure surrogate cloud browsing
US10474740B2 (en) 2013-01-30 2019-11-12 Microsoft Technology Licensing, Llc Virtual library providing content accessibility irrespective of content format and type
US9852115B2 (en) * 2013-01-30 2017-12-26 Microsoft Technology Licensing, Llc Virtual library providing content accessibility irrespective of content format and type
US20140215391A1 (en) * 2013-01-30 2014-07-31 Microsoft Corporation Virtual library providing content accessibility irrespective of content format and type
US20160029053A1 (en) * 2013-03-11 2016-01-28 Zte Corporation Method for transmitting media data and virtual desktop server
CN103235790B (en) * 2013-03-29 2017-08-25 努比亚技术有限公司 Extend the method and system of DLNA shared file types
CN103235790A (en) * 2013-03-29 2013-08-07 深圳市中兴移动通信有限公司 Method and system for extending DLNA shared file types
US9369467B1 (en) * 2013-05-08 2016-06-14 Amdocs Software Systems Limited System, method, and computer program for providing generic access to web content on a mobile device
US20150082051A1 (en) * 2013-09-18 2015-03-19 Ankur Aggarwal Method for Formatting and Distributing Electronic Data
US9529733B1 (en) * 2014-09-18 2016-12-27 Symantec Corporation Systems and methods for securely accessing encrypted data stores
US20160285943A1 (en) * 2015-03-25 2016-09-29 Industrial Technology Research Institute Cloud operation resource dynamic allocation system and method thereof
US20170076382A1 (en) * 2015-09-14 2017-03-16 Bank Of America Corporation System for dynamic generation of allocation guide for assets
US11611482B1 (en) 2020-06-12 2023-03-21 Menlo Security, Inc. Bandwidth throttling
US11784887B1 (en) 2020-06-12 2023-10-10 Menlo Security, Inc. Bandwidth throttling

Also Published As

Publication number Publication date
GB0019594D0 (en) 2000-09-27
CN1285558A (en) 2001-02-28
TW480418B (en) 2002-03-21
CA2312449A1 (en) 2001-02-19
KR100403264B1 (en) 2003-10-30
GB2356535B (en) 2004-04-28
GB2356535A (en) 2001-05-23
CN1142513C (en) 2004-03-17
CA2312449C (en) 2012-01-03
KR20010050026A (en) 2001-06-15
JP2001117810A (en) 2001-04-27

Similar Documents

Publication Publication Date Title
US6615212B1 (en) Dynamically provided content processor for transcoded data types at intermediate stages of transcoding process
JP3722414B2 (en) System and method for incorporating semantic properties into a format-driven syntactic document transcoding framework
US7574486B1 (en) Web page content translator
US8375285B2 (en) Enabling access to data files unsupported by a computing device
US5754772A (en) Transaction service independent HTTP server-to-transaction gateway
US7318193B2 (en) Method and apparatus for automatic document generation based on annotation
US6721781B1 (en) Method of providing an alternative audio format of a web page in response to a request for audible presentation of the same
JP2004334866A (en) Conversion of web site summary through tag rib
JP2000090001A (en) Method and system for conversion of electronic data using conversion setting
US8909675B2 (en) Executing transcription requests on files
GB2346238A (en) Tailoring Web page content in HTML format for display, using XML tools
KR20030094320A (en) Dedicated processor for efficient processing of documents encoded in a markup language
GB2366037A (en) Customising an HTML document
US20070016592A1 (en) Enabling real time decoration for customized topology displays
US20040249978A1 (en) Method and apparatus for customizing a Web page
US20080256436A1 (en) Method and Apparatus for Transmitting Accessibility Requirements to a Server
US20030204573A1 (en) Method of providing a web user with additional context-specific information
KR100456022B1 (en) An XML-based method of supplying Web-pages and its system for non-PC information terminals
US6922733B1 (en) Method for coordinating visual and speech web browsers
US6965947B1 (en) Method and apparatus for automated transcoder selection
US20110209051A1 (en) Document browsing system and document conversion server
WO2002080133A1 (en) Non visual presentation of salient features in a document
US8806326B1 (en) User preference based content linking
US7836395B1 (en) System, apparatus and method for transformation of java server pages into PVC formats
JP2003099352A (en) Information-processing device and information-processing program

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DUTTA, RABINDRANATH;RUTKOWSKI, MATTHEW FRANCIS;REEL/FRAME:010186/0873

Effective date: 19990813

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCF Information on status: patent grant

Free format text: PATENTED CASE

CC Certificate of correction
FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

FPAY Fee payment

Year of fee payment: 12