GB2330429A - Data stream enhancement - Google Patents

Data stream enhancement Download PDF

Info

Publication number
GB2330429A
GB2330429A GB9721794A GB9721794A GB2330429A GB 2330429 A GB2330429 A GB 2330429A GB 9721794 A GB9721794 A GB 9721794A GB 9721794 A GB9721794 A GB 9721794A GB 2330429 A GB2330429 A GB 2330429A
Authority
GB
United Kingdom
Prior art keywords
data
computer
server computer
stream
client computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
GB9721794A
Other versions
GB9721794D0 (en
Inventor
Malcolm Bird
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.)
Zyris PLC
Original Assignee
Zyris PLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zyris PLC filed Critical Zyris PLC
Priority to GB9721794A priority Critical patent/GB2330429A/en
Publication of GB9721794D0 publication Critical patent/GB9721794D0/en
Publication of GB2330429A publication Critical patent/GB2330429A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4143Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a Personal Computer [PC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]
    • 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]

Abstract

Within a computer network, a client computer is attached to a server computer that is in turn attached to a data source computer. The client computer passes decoding parameter data to the server computer indicating the capabilities of the client computer and user preferences for the decoding of a data stream passed from the server computer to the client computer. When the client computer requests, 50, a data stream from the server computer, this will either be satisfied, 56, from a local data source or a remote data source computer and passed back to the client computer. Before this data stream is passed back to the client computer it is parsed, 58, to identify predetermined data items in accordance with the decoding parameters provided by the client computer and further data items are added, 60, to the data stream with a content dependent upon the content of the found predetermined data items. The network may be the Internet and the further items may be WAV or JPEG files, text translations or text highlighting.

Description

DATA STREAM ENHS6CEMENT This invention relates to the field of data processing. More particularly, this invention relates to data processing systems in which a client computer is connected to a server computer and issues a request to that server computer for a desired stream of data.
It is known to provide client/server type data processing systems in which a client computer is connected to a server computer by a network link and the server computer serves to provide a stream of data desired by said client computer in response to a request from said client computer. An example of such a client server system is the internet. With the internet, a client computer may run browser software and is connected to a server computer that it itself connected into the internet. A data request is first sent from the client computer to its server computer. If the server computer can itself service that request, e.g. through web page caching, then the data is returned to the client computer from the server. More usually, the server computer does not have the requested data and itself issues a further data request to a remote data source, which could be anywhere in the world providing it is connected to the internet, and relies upon that data source to generate the required stream of data, which then passes back to the client computer via the server computer.
A problem with the internee is that the data sources provide data in a relatively inflexible format that may not be well matched to the capabilities of the client computer or to the particular requirements of the individual user operating the client computer.
Viewed from one aspect the present invention provides a data processing apparatus comprising: a client computer; a server computer connected to said client computer by a first computer network link, said server computer being operable to supply a stream of data to said client computer; and a data source connected to said server computer by a second computer link, said data source being responsive to a data request from said server computer to generate said stream of data that then passes via said server computer to said client computer; wherein said server computer parses said stream of data and, in response to finding a predetermined data item within said data stream, adds a further data item to said data stream, content of said further data item being dependent content of said predetermined data item.
The present invention recognises that whilst the data source may provide the stream of data to fulfil the client computer request, it is possible for the server computer to parse this stream of data before it passes to the client computer and add further data items to the stream of data so as to more closely match the capabilities of the client computer or the preferences of the user. This can be achieved without any changes being necessary in remote data sources as the additional functionality is provided by the client computer and the server to which the client computer attaches.
This has the result that the enhanced functionality is available for all suitable data retrieved from remote sources without requiring any cooperation by the providers of these remote data sources. In addition, the server computer may typically be a comparatively powerful computer compared to the client computer and so better able to undertake the processing required to augment the basic stream of data in real time.
Whilst the augmentation of the stream of data received by the server computer could be fixed for all client computers connected to that server, in preferred embodiments of the invention said server computer is responsive to client decoding parameters describing the capabilities of said client computer to decode said data stream for presentation to a user in determining which predetermined data items to parse for and which further data items to add.
In this way, the server is able to provide increased functionality that is individually tailored to variable characteristics of client computers connected that server. An example might be an internet service provider to whom customers may connect with client computers having greatly varying capabilities. In this case, the client computers could send parameters to the server computer indicating to the server computer which types of data augmentation would be usefuI or desirable to them. In addition, user preferences could be sent from the client computer to the server computer.
The data stream sent to the client computer could be the result of a request for that data stream by the client computer or it could be "pushed" down to the client computer without a request, e.g. an automatic update. Preferably, said client computer issues a client data request to said server computer and said stream of data pasted from said data source via said server computer to said client computer fulfils said client data request.
It will be appreciated that whilst the client computer, the server computer and the data source could form part of many different types of data network, the invention is of particular utility in embodiments in which at least one of said first computer network link and said second computer link are internet links.
In the context of a computer network, the server computer could take a number of forms including one of a proxy server computer, a router or a gateway computer.
Whilst the data stream that is to be augmented by the server computer could have many different formats, a format that is particularly well suited to parsing and augmentation is that in which said data stream is a HTML document or an XML document.
There are many possibilities for the nature of the augmentation of the stream of data that may be provided by the server computer. Preferred embodiments include ones in which: said client computer includes an audio data playing mechanism, said predetermined data item is text data and said further data item is audio data corresponding to a read version of said text data for use by said audio data playing mechanism; said client computer includes a voice recognition mechanism, said predetermined data item is a html link and said further data is voice pattern data for use by said voice recognition mechanism to trigger said html link; said client computer includes a JPEG image rendering mechanism, said predetermined data item is a GIF image file and said further data item is a JPEG image file constructed from said GIF image file for use by said JPEG image rendering mechanism; said predetermined data item is text data in a first language and said further data item is a complete or partial translation of said text data into a second language; said predetermined data item is text data and said further data item is highlighting within said text data of problem areas of at least one of spelling and grammar; and said predetermined data item is a graphics image of a first resolution and said further data item is an altered version of said graphics image with a second resolution that is different from said first resolution and constructed by image processing techniques.
The technical and commercial advantages of the invention are particular strong in embodiments of the invention in which said server computer provides a point of presence to said client computer on the internet and said first network line is a dial up link.
In this situation, the invention provides an internet service provider to offer an additional service to its users in a manner that distinguishes it from its competition who otherwise present a very uniform level of service.
Viewed from another aspect the present invention provides a data processing method comprising the steps of: connecting a client computer to a server computer by a first computer network link; connecting said server computer to a data source by a second computer link; sending a data request for a stream of data from said server computer to said data source; generating with said data source said stream of data; sending said stream of data from said data source to said server computer to fulfil said data request; parsing said stream of data using said server computer and, in response to finding a predetermined data item within said data stream, adding a further data item to said data stream, content of said further data item being dependent content of said predetermined data item; and sending said stream of data including any further data item from said server computer to said client computer.
It will be appreciated that with modern computer networks the different portions of the network may be positioned at great distances for one another and often in different countrieS. In this situation, the entire system is never present within a single country with separate countries and jurisdictions containing only a portion of the system.
Viewed from a complementary aspect, the present invention provides a server computer for connection to a client computer via a first computer network link and a data source by a second computer link, said server computer comprising: a data request transmitter for sending a data request to said data source to trigger said data source to generate a stream of data that then passes via said server computer to said client computer; and a data parsing mechanism that parses said stream of data and, in response to finding a predetermined data item within said data stream, adds a further data item to said data stream, content of said further data item being dependent content of said predetermined data item.
Viewed from a further complementary aspect the present invention provides a client computer for connection via a first computer network link to a server computer, said server computer being connected via a second computer link to a data source, said client computer comprising: a client decoding parameters transmitter for sending to said server computer client decoding parameters describing the capabilities of said client computer to decode a data stream for presentation to a user so as to control said server computer to parse said data stream for predetermined data items, said data stream being generated by said data source and passed to said client computer via said server computer, and, in response to finding said predetermined data items within said data stream, add a further data items to said data stream, content of said further data items being dependent content of said predetermined data items.
An embodiment of the invention will now be described, by way of example only, with reference to the accompanying drawings in which: Figure 1 illustrates a computer network system; Figure 2 schematically illustrates a client computer; Figure 3 schematically illustrates a server computer; Figure 4 schematically illustrates a data source computer; Figure 5 is a flow diagram illustrating the process when a client connects to a server; and Figure 6 is a flow diagram illustrating the process when a client requests data.
Figure 1 schematically illustrates client server based computer network. The client computer 2 is based in Edinburgh. The server computer 4 is placed in London.
The client computer 2 is linked to the server computer 4 via a first computer network link having the form of a dial up modem link 6.
For a particular data request issued by the client computer 2, the server computer 4 identifies the data sources as being a data source computer 8 that is located on the west coast of the USA. The server computer 4 issues a second data request to the data source computer 8 via a dedicated high capacity second computer network link 10. The data source computer 8 responds to the received data request to generate the required data stream and this is then passed back to the server computer 4 (possibly by a different route). The server computer 4 then parses this data stream to identify predetermined data items, adds further data items in response to the content of the predetermined data items and then passing an augmented data stream back to the client computer 2. This parsing is best done by monitoring the data and adding to it as it is passed to the client computer 2 rather than first collecting the whole content of the data stream, e.g. the full file being passed.
It will be seen from this example, that whilst the client computer 2 and the server computer 4 are in the same country, the data source computer 8 is in a completely different country. Further, there is no technical reason why the client computer need not be in a different country to the server computer.
Figure 2 schematically illustrates a client computer 2. The client computer comprises a central processing unit 12, a random access memory 14 and a storage disc 16 with an associated disc controller 18. In order to communicate with the server computer 4, the client computer 2 includes a modem 20 that is coupled to a dial up telephone line 22. Output to a user is provided on a monitor 24 that is driven by a display driver 26 and via a loud speaker 28 that is driven by a sound card 30.
User input to the client computer 2 is provided via a keyboard 32, a mouse 34 and a microphone 36 that is coupled to the sound card 30 via which voice recognition capability is provided. The client computer can be a personal computer. (It will be appreciated that other client computers, such as a thin network computer could be used instead of a PC and that the modem link could be replaced with another form of network link). The disc storage 16 contains computer program files and data files which are loaded into the random access memory 14 and then used to control the central processing unit 12 to perform its various operations. The program files on the disc storage include an internet browser program that allows the client computer 2 to make a dial up modem connection with an internet server computer 4 and then interact with that server computer 4 via user inputs made with the keyboard 32 and mouse 34 whilst presenting the received data stream from the server computer to the user via the display monitor 24 and the speaker 28.
The client computer 2 illustrated in Figure 2 includes an audio data playing mechanism in the form of the sound card 30 and the loud speaker 28. In this case, it is possible for the server computer to augment the data stream being passed to this client computer with audio data, e.g. a WAV file, corresponding to a spoken version of text data within the data stream. Such text to audio conversion is highly processor intensive and so the superior capabilities of the server computer 4 can be used to undertake this processing with the user requiring a comparatively low powered client computer 2 to interpret this augmented data stream, It is also known to provide personal computers with voice recognition capabilities. Such capabilities are provided by an appropriate computer program executing on the central processing unit 12 upon data received via a microphone 36 and a sound card 30. The data received via the microphone 36 is compared with known voice pattern data corresponding to certain phrases or commands in order to identify a match. The generation of this voice pattern data for comparison with the data received by the microphone 36 is a processor intensive operation. Accordingly, the server computer 4 can be used to parse the data stream for html links and can then generate voice pattern data for that link that may be spoken by a user. This voice pattern data can be passed to the client computer 2 where it may be used by the central processing unit 12 to match voice inputs of the user to trigger the taking of the corresponding html link, In the context of image data to be displayed on the display monitor 24, the present invention can be utilised to match to the particular data formats supported by a client computer. For example, if the client computer incorporates a JPEG image rendering mechanism, then embedded GIF image files within the data stream can be supplemented by JPEG image files. An alternative would be when a client computer has better image display performance than is expected by the data source computer 8 In this case, the data source computer 8 may provide a relatively low resolution image. The server computer 4 knowing from the data decoding parameters of the client computer 2 that the client computer has a superior image data resolution can perform image enhancement on the data received from the data source computer 8 prior to passing it to the client computer 2 so as to take better advantage of the capabilities of the client computer 2.
In other circumstances, it may be appropriate for the server computer 4 to augment the data by providing a machine translation using one of the commercially available machine translation programs of received text data from a first language to a second language. This is particularly useful in non-English language speaking countries to overcome the problem that the vast majority of information on the internet is published in English. It may also be appropriate for the server computer to use one of the commercially available spell checking or grammar checking programs to add highlighting data to problem areas within received text data.
Figure 3 illustrates a server computer 4. The server computer 4 can be broken down into comparable portions to that of the client computer 2. In practice, the server computer 4 is likely to be a powerful mainframe computer and the different portions will typically have a much higher capacity and specification than the equivalent portions of the client computer 2. Additional parts of the server computer 4 are a modem bank 38 and a network router 40. The modem bank 38 is responsible for receiving dial up telephone links from a plurality of client computers. The network router 40 provides high capacity TCP/IP links to other computers on the internet.
When the server computer 4 receives a request for a stream of data from the client computer 2, such as a request for a new web page, the server computer 4 attempts to see if it can satisfy that request locally, e.g. through web page caching, and if it is able to, then links to the local data source for that stream of data. If the stream of data is not present locally, then a network connection via the network router 40 is sought to the remote data source computer 8 that is able to satisfy that request of the client computer 2. This part of the operation of the server computer 4 is known in the field of internet computers.
Figure 4 schematically illustrates a data source computer 8. The portions of this are the same as for the server computer 4 except that the data source computer 8 need not have a modem bank 38.
The client computer 2 and the server computer 4 are modified in their operation compared to known equivalent computers operating on the internet. Figure 5 is a flow diagram illustrating the process when a client computer 2 frstconets via a dial up link to the server computer 4. At step 42 the client computer 2 sends the server computer 4 its user identifier (userid) and associated password. At step 44, the server computer 4 authenticates the user identifier and the password and if they pass the authentication, then connects the client computer to the internet. At step 46, the client computer 2 sends the server computer 4 decoding parameter information for the client computer 2. (The decoding parameter information could be sent to the server computer 4 by another mechanism). This information would include, for example, details of whether or not the client computer 2 included a sound card 30 and loud speaker 28 for reproducing audio files, a microphone 36, sound card 30 and appropriate software for undertaking voice recognition, graphics handling capabilities and other parameters of the client computer. The decoding parameters could also include user preferences, such as whether or not the user wants a translation of incoming text data to be added to the data stream by the server computer 4 or whether problem areas of spelling or grammar should be highlighted within incoming text data. At step 48, the server computer 4 logs these decoding parameters for the particular client computer 2 so that it may act upon them by appropriately parsing the data stream to be passed to the client computer 2 and adding the desired further data items to that data stream.
Figure 6 is a flow diagram schematically illustrating the client computer 2 accessing a data stream via the server computer 4. At step 50, the user takes some action by manipulating the keyboard 32 or mouse 34 of the client computer 2 to trigger a first data request to be issued from the client computer 2 to the server computer 4 via the dial up network link 6. The user action could, for example, be activating the mouse 34 over a hypertext link pointing to a new internet web page.
Alternatively, if a data "push" operation was being performed, then step 50 would be omitted.
At step 52, the server computer 4 determines whether or not it has the requested information stored locally. If the information is stored locally, then a link to that local data source, such as disc storage 16 or random access memory 14, is made. Alternatively, if the requested data stream cannot be provided locally, then the server computer 4 makes an access to a remote data source computer 8 at step 54.
At step 56, the server computer has recovered the requested data stream and then makes reference to the stored decoding parameters for the client computer 2 that requested that data stream in order to determine which predetermined data items to parse for within the data stream. At step 58, the server computer 4 parses the data for the predetermined data items as indicated by the decoding parameters.
If predetermined data items are found, then at step 60, additional data items whose content depends upon the predetermined data items found are added to the data stream.
The further data items added to the data stream could take a number of different forms. One example would be an audio file corresponding to a read version of text data within the data stream. Conventional text to audio conversion mechanisms could be used by the server computer to achieve this. The client computer 2 would require an audio data playing mechanism, such as the sound card 30 and loud speaker 38, in order to reproduce the added audio data file. If the client computer 2 had a voice recognition capability by virtue of appropriate software and hardware on the client computer 2, then the server computer 4 could be used to add voice pattern data to the data stream corresponding to HTML links or XML links found within the data stream. This voice pattern data would then be used by the voice recognition mechanism within the client computer 2 to match with input voice commands from any user. If the client computer includes a JPEG image rendering mechanism in the form of appropriate hardware or software. In this case, the server computer 4 can scan for GIF image files within the data streams and add corresponding JPEG image files. With regard to text data within the data stream, the vast majority of text data on the internet is in English. This can be a problem for a person whose first language is not English. In this case, known machines translation programmes could be used by the server computer 4 to add a translation into a different language of text data within the data stream as indicated by user preferences to form part of the decoding parameters. In a similar way, it might in some circumstances be desirable for the server computer 4 to add highlighting data to text data within the data stream indicating problem areas with the spelling or grammar of that text data. Known spelling and grammar testing software, such as is present in many word processing programs, could be used by the server computer 4 to achieve this. A further example of added data would be in the case where the client computer 2 had a higher graphics capability that the data stream graphics had been intended for.
In this case, the server computer 4 can execute image enhancement software using a variety of image enhancement algorithms as desired in order to produce an added graphics image representing an enhanced version of the original graphics image.
At step 62, the client computer receives the data stream from the server computer 4 and displays or interprets it to the user according to its decoding abilities.
Whilst the above has been described in terms of the internet computer network, it will be appreciated that the invention could be utilised on other computer networks. Similarly, the particular choice of hardware or software for carrying out the parsing of the data stream and the adding of additional data items could be varied to suit the particular circumstances and desired aims and would be appreciated by the skilled man in the field.

Claims (19)

  1. CLAIMS 1. A data processing apparatus comprising: a client computer; a server computer connected to said client computer by a first computer network link, said server computer being operable to supply a stream of data to said client computer; and a data source connected to said server computer by a second computer link, said data source being responsive to a data request from said server computer to generate said stream of data that then passes via said server computer to said client computer; wherein said server computer parses said stream of data and, in response to finding a predetermined data item within said data stream, adds a further data item to said data stream, content of said further data item being dependent content of said predetermined data item.
  2. 2. A data processing apparatus as claimed in claim 1, wherein said server computer is responsive to client decoding parameters describing the capabilities of said client computer to decode said data stream for presentation to a user in determining which predetermined data items to parse for and which further data items to add.
  3. 3. A data processing apparatus as claimed in any one of claim 1 or 2, wherein said client computer issues a client data request to said server computer and said stream of data pasted from said data source via said server computer to said client computer fulfils said client data request.
  4. 4. A data processing apparatus as claimed in any one of claims 1, 2 or 3, wherein at least one of said first computer network link and said second computer link are internet links.
  5. 5. A data processing apparatus as claimed in any one of the preceding claims, wherein said server computer is one of a proxy server computer, a router or a gateway computer.
  6. 6. A data processing apparatus as claimed in any one of the preceding claims, wherein said data stream is a HTML document or an XML document.
  7. 7. A data processing apparatus as claimed in any one of the preceding claims, wherein said client computer includes an audio data playing mechanism, said predetermined data item is text data and said further data item is audio data corresponding to a spoken version of said text data for use by said audio data playing mechanism.
  8. 8. A data processing apparatus as claimed in any one of the preceding claims, wherein said client computer includes a voice recognition mechanism, said predetermined data item is a HTML link or an XML link and said further data is voice pattern data for use by said voice recognition mechanism to trigger said HTML link or said XML link.
  9. 9. A data processing apparatus as claimed in any one of the preceding claims, wherein said client computer includes a JPEG image rendering mechanism, said predetermined data item is a GIF image file and said further data item is a JPEG image file constructed from said GIF image file for use by said JPEG image rendering mechanism.
  10. 10. A data processing apparatus as claimed in any preceding claim, wherein said predetermined data item is text data in a first language and said further data item is a complete or partial translation of said text data into a second language.
  11. 11 A data processing apparatus as claimed in any one of the preceding claims, wherein said predetermined data item is text data and said further data item is highlighting within said text data of problem areas of at least one of spelling and grammar.
  12. 12. A data processing apparatus as claimed in any one of the preceding claims, wherein said predetermined data item is a graphics image of a first resolution and said further data item is an altered version of said graphics image with a second resolution that is different from said first resolution and constructed by image progressing techniques.
  13. 13. A data processing apparatus as claimed in any one of the preceding claims, wherein said server computer provides a point of presence to said client computer on the internet.
  14. 14. A data processing apparatus as claimed in any preceding claim, wherein said first network line is a dial up link.
  15. 15. A data processing method comprising the steps of: connecting a client computer to a server computer by a first computer network link; connecting said server computer to a data source by a second computer link; sending a data request for a stream of data from said server computer to said data source; generating with said data source said stream of data; sending said stream of data from said data source to said server computer to fulfil said data request; parsing said stream of data using said server computer and, in response to finding a predetermined data item within said data stream, adding a further data item to said data stream, content of said further data item being dependent content of said predetermined data item; and sending said stream of data including any further data item from said server computer to said client computer.
  16. 16. A server computer for connection to a client computer via a first computer network link and a data source by a second computer link, said server computer comprising: a data request transmitter for sending a data request to said data source to trigger said data source to generate a stream of data that then passes via said server computer to said client computer; and a data parsing mechanism that parses said stream of data and, in response to finding a predetermined data item within said data stream, adds a further data item to said data stream, content of said further data item being dependent content of said predetermined data item.
  17. 17. A client computer for connection via a first computer network link to a server computer, said server computer being connected via a second computer link to a data source, said client computer comprising: a client decoding parameters transmitter for sending to said server computer client decoding parameters describing the capabilities of said client computer to decode a data stream for presentation to a user so as to control said server computer to parse said data stream for predetermined data items, said data stream being generated by said data source and passed to said client computer via said server computer, and, in response to finding said predetermined data items within said data stream, add a further data items to said data stream, content of said further data items being dependent content of said predetermined data items.
  18. 18. A data processing apparatus substantially as hereinbefore described with reference to the accompanying drawings.
  19. 19. A data processing method substantially as hereinbefore described with reference to the accompanying drawings.
GB9721794A 1997-10-14 1997-10-14 Data stream enhancement Withdrawn GB2330429A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB9721794A GB2330429A (en) 1997-10-14 1997-10-14 Data stream enhancement

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB9721794A GB2330429A (en) 1997-10-14 1997-10-14 Data stream enhancement

Publications (2)

Publication Number Publication Date
GB9721794D0 GB9721794D0 (en) 1997-12-17
GB2330429A true GB2330429A (en) 1999-04-21

Family

ID=10820552

Family Applications (1)

Application Number Title Priority Date Filing Date
GB9721794A Withdrawn GB2330429A (en) 1997-10-14 1997-10-14 Data stream enhancement

Country Status (1)

Country Link
GB (1) GB2330429A (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1014646A2 (en) * 1998-12-22 2000-06-28 Citibank, N.A. Systems and methods for distributing information to a diverse plurality of devices
EP1085756A2 (en) * 1999-09-16 2001-03-21 Sharp Kabushiki Kaisha Description framework for audiovisual content
WO2001022364A2 (en) * 1999-09-18 2001-03-29 Wild Tangent, Inc. Dynamic scalable multi-media content streaming
GB2354855A (en) * 1999-06-18 2001-04-04 Ibm Information terminal support server
WO2002013551A1 (en) * 2000-08-07 2002-02-14 Melody Interactive Solutions Ab A system for mobile information access
EP1227637A2 (en) * 2001-01-26 2002-07-31 Microsoft Corporation Caching transformed content in a mobile gateway
EP1241891A1 (en) * 2001-03-13 2002-09-18 eJay AG Apparatus and method for transmitting audio and/or video data
EP1334435A2 (en) * 2000-10-12 2003-08-13 Toptier, Israel, Ltd. Adding data to text pages by an intermediary proxy
EP1355475A1 (en) * 2002-04-18 2003-10-22 Siemens Aktiengesellschaft Enhancing of web pages with new functionality for web-based services
EP1444825A2 (en) * 2001-10-10 2004-08-11 Sedna Patent Services, LLC Video and digital multimedia aggregator content coding and formatting
US6850991B1 (en) 1998-12-22 2005-02-01 Citibank, N.A. Systems and methods for distributing information to a diverse plurality of devices
US7793326B2 (en) 2001-08-03 2010-09-07 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator
US9286294B2 (en) 1992-12-09 2016-03-15 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator content suggestion engine
US9813641B2 (en) 2000-06-19 2017-11-07 Comcast Ip Holdings I, Llc Method and apparatus for targeting of interactive virtual objects

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0718783A1 (en) * 1994-12-20 1996-06-26 Sun Microsystems, Inc. A computer implemented method and system for information retrieval
EP0773503A2 (en) * 1995-11-10 1997-05-14 Kabushiki Kaisha Toshiba File transfer method, file requesting client device, and file server device
EP0778534A1 (en) * 1995-12-08 1997-06-11 Sun Microsystems, Inc. System and method for automatically adding informational hypertext links to received documents

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0718783A1 (en) * 1994-12-20 1996-06-26 Sun Microsystems, Inc. A computer implemented method and system for information retrieval
EP0773503A2 (en) * 1995-11-10 1997-05-14 Kabushiki Kaisha Toshiba File transfer method, file requesting client device, and file server device
EP0778534A1 (en) * 1995-12-08 1997-06-11 Sun Microsystems, Inc. System and method for automatically adding informational hypertext links to received documents

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9286294B2 (en) 1992-12-09 2016-03-15 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator content suggestion engine
EP1014646A3 (en) * 1998-12-22 2000-12-20 Citibank, N.A. Systems and methods for distributing information to a diverse plurality of devices
EP1014646A2 (en) * 1998-12-22 2000-06-28 Citibank, N.A. Systems and methods for distributing information to a diverse plurality of devices
US6850991B1 (en) 1998-12-22 2005-02-01 Citibank, N.A. Systems and methods for distributing information to a diverse plurality of devices
US6748418B1 (en) 1999-06-18 2004-06-08 International Business Machines Corporation Technique for permitting collaboration between web browsers and adding content to HTTP messages bound for web browsers
GB2354855A (en) * 1999-06-18 2001-04-04 Ibm Information terminal support server
GB2354855B (en) * 1999-06-18 2003-09-10 Ibm Information terminal support server
EP1085756A2 (en) * 1999-09-16 2001-03-21 Sharp Kabushiki Kaisha Description framework for audiovisual content
EP1085756A3 (en) * 1999-09-16 2006-06-07 Sharp Kabushiki Kaisha Description framework for audiovisual content
WO2001022364A2 (en) * 1999-09-18 2001-03-29 Wild Tangent, Inc. Dynamic scalable multi-media content streaming
WO2001022364A3 (en) * 1999-09-18 2002-01-10 Wild Tangent Inc Dynamic scalable multi-media content streaming
US9813641B2 (en) 2000-06-19 2017-11-07 Comcast Ip Holdings I, Llc Method and apparatus for targeting of interactive virtual objects
WO2002013551A1 (en) * 2000-08-07 2002-02-14 Melody Interactive Solutions Ab A system for mobile information access
EP1334435A4 (en) * 2000-10-12 2009-11-04 Sap Portals Israel Ltd Adding data to text pages by an intermediary proxy
EP1334435A2 (en) * 2000-10-12 2003-08-13 Toptier, Israel, Ltd. Adding data to text pages by an intermediary proxy
EP1227637A2 (en) * 2001-01-26 2002-07-31 Microsoft Corporation Caching transformed content in a mobile gateway
EP1227637A3 (en) * 2001-01-26 2006-01-11 Microsoft Corporation Caching transformed content in a mobile gateway
EP1241891A1 (en) * 2001-03-13 2002-09-18 eJay AG Apparatus and method for transmitting audio and/or video data
US7793326B2 (en) 2001-08-03 2010-09-07 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator
US7908628B2 (en) 2001-08-03 2011-03-15 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator content coding and formatting
US8245259B2 (en) 2001-08-03 2012-08-14 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator
US8578410B2 (en) 2001-08-03 2013-11-05 Comcast Ip Holdings, I, Llc Video and digital multimedia aggregator content coding and formatting
US8621521B2 (en) 2001-08-03 2013-12-31 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator
US10140433B2 (en) 2001-08-03 2018-11-27 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator
US10349096B2 (en) 2001-08-03 2019-07-09 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator content coding and formatting
EP1444825A4 (en) * 2001-10-10 2005-11-23 Sedna Patent Services Llc Video and digital multimedia aggregator content coding and formatting
EP1444825A2 (en) * 2001-10-10 2004-08-11 Sedna Patent Services, LLC Video and digital multimedia aggregator content coding and formatting
EP1355475A1 (en) * 2002-04-18 2003-10-22 Siemens Aktiengesellschaft Enhancing of web pages with new functionality for web-based services

Also Published As

Publication number Publication date
GB9721794D0 (en) 1997-12-17

Similar Documents

Publication Publication Date Title
US7406659B2 (en) Smart links
US20090108057A1 (en) Using Quick Response Codes to Provide Interactive Services
CA2436940C (en) A method and system for voice activating web pages
US7415537B1 (en) Conversational portal for providing conversational browsing and multimedia broadcast on demand
US8499024B2 (en) Delivering voice portal services using an XML voice-enabled web server
CA2345665C (en) Conversational computing via conversational virtual machine
US6338096B1 (en) 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
US8032577B2 (en) Apparatus and methods for providing network-based information suitable for audio output
US6012068A (en) Media manager for access to multiple media types
US6101472A (en) Data processing system and method for navigating a network using a voice command
US20070043878A1 (en) Virtual robot communication format customized by endpoint
EP1641211A2 (en) Web server and method for dynamic content.
US20100094635A1 (en) System for Voice-Based Interaction on Web Pages
EP1129449A1 (en) Voice control of a user interface to service applications
GB2330429A (en) Data stream enhancement
JPH11249867A (en) Voice browser system
US20060075069A1 (en) Method and system to provide message communication between different application clients running on a desktop
CA2452134C (en) System and method for constructing phrases for a media server
GB2395320A (en) Multimodal browsing
US8838673B2 (en) Method and apparatus to generate audio versions of web pages
US20090100150A1 (en) Screen reader remote access system
JP2001256142A (en) Voice information provision method and voice information provision device
Demesticha et al. Aspects of design and implementation of a multi-channel and multi-modal information system
KR20020030224A (en) Method for providing information using a web guide
EP1881685B1 (en) A method and system for voice activating web pages

Legal Events

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