US20020178215A1 - Method and apparatus for centralizing application access within a multimedia system - Google Patents

Method and apparatus for centralizing application access within a multimedia system Download PDF

Info

Publication number
US20020178215A1
US20020178215A1 US09/946,920 US94692001A US2002178215A1 US 20020178215 A1 US20020178215 A1 US 20020178215A1 US 94692001 A US94692001 A US 94692001A US 2002178215 A1 US2002178215 A1 US 2002178215A1
Authority
US
United States
Prior art keywords
application
data
server
interface
produce
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.)
Abandoned
Application number
US09/946,920
Inventor
Indra Laksono
Shahid Saleem
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.)
ViXS Systems Inc
Original Assignee
Individual
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25343454&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=US20020178215(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Individual filed Critical Individual
Priority to US09/946,920 priority Critical patent/US20020178215A1/en
Assigned to VIXS, INC. reassignment VIXS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LAKSONO, INDRA, SALEEM, SHAHID
Publication of US20020178215A1 publication Critical patent/US20020178215A1/en
Assigned to VIXS SYSTEMS, INC. reassignment VIXS SYSTEMS, INC. CORRECTIVE ASSIGNMENT TO CORRECT THE CHANGE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 012161 FRAME 0424. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Assignors: LAKSONO, INDRA, SALEEM, SHAHID
Assigned to COMERICA BANK reassignment COMERICA BANK SECURITY AGREEMENT Assignors: VIXS SYSTEMS INC.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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
    • 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]
    • 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/241Operating system [OS] processes, e.g. server setup
    • 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
    • H04N21/25833Management of client data involving client hardware characteristics, e.g. manufacturer, processing or storage 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/426Internal components of the client ; Characteristics thereof
    • H04N21/42653Internal components of the client ; Characteristics thereof for processing graphics
    • 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • 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/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests

Definitions

  • This invention relates generally to local area networks and more particularly to a computer network that utilize a local area network.
  • computer networks include a server operably coupled to a plurality of client computers.
  • Such computer networks offer the advantage of sharing resources among computers, via the server, without each computer having to separately possess the particular resource.
  • the server may provide Internet access for the clients, store programs and/or data for downloading to the clients, include a database that stores media content and applications for client access, and/or provides virtual sessions for the clients.
  • the server processes network traffic and provides routing functions for clients to access the Internet.
  • the server is functioning as a network server for the clients.
  • each of the clients includes storage elements and processing resources to execute applications (e.g., word processing, drawing, spread sheets, web browser, etc) on data received via the server.
  • applications e.g., word processing, drawing, spread sheets, web browser, etc
  • Such a computer network may be enhanced by including file server functionality within the server to store programs and data required for a client to load and execute the application. However, the execution of the application still occurs on the client computer.
  • the server creates virtual sessions with each client running terminal sessions, which are responsible only for rendering the results of the execution on the server.
  • a network is generally not suitable for relatively high bandwidth high-resolution live video rendering applications.
  • the server contains a database that stores all relevant information about the media content and applications that might be requested by the client.
  • the computer network 10 includes a server 12 , a video/audio database 14 , a local area network (LAN) connection 15 , and a plurality of client computers 16 - 20 .
  • the server includes a processor 22 , such as a central processing unit, and memory 24 , such as system memory.
  • the memory 24 stores an operating system application that enables the processor 22 to perform a graphical display interface function (GDI) 26 , a direct draw function 28 , and/or an OpenGL function 30 .
  • GDI graphical display interface function
  • API application interface
  • the video/audio database 14 stores applications that are executed by the server on behalf of one or more of the client computers 16 - 20 .
  • Such applications include, but are not limited to, video games, MP3 files, DVD files, video files (e.g., MPEG files, JPEG files, MJPEG files, etc.), word processing applications, spreadsheet applications, and drawing applications.
  • Each of the client computers 16 - 20 includes a processor 32 , a graphics processor 34 , and memory 36 .
  • the memory 36 stores an operating system application that enables the processor 32 to function as a display driver 40 , a direct draw HAL (hardware application layer) 42 , and/or an OpenGL graphical interface 44 .
  • a client computer requests access to a particular application stored in the video/audio database 14 , for example a computer game.
  • the server 12 upon validating the request, opens the requested computer game application and begins execution thereof.
  • the graphical data is processed by one of the graphical API's (i.e., the GDI 26 , the direct draw 28 , or the OpenGL 30 ) into device independent packets, which includes the address for client 16 .
  • the packets are provided on LAN 15 and interpreted by each of the clients 16 - 20 .
  • Client 16 retrieves the packets from the LAN 15 and processes them via its graphical API (i.e., the display driver 40 , the direct draw HAL 42 , or the OpenGL 44 ) to retrieve the graphical data.
  • the graphical data is then processed by the graphics processor 34 to produce display data that is provided to a monitor 38 .
  • the graphical API used by the client will correspond to the graphical API used by the server. For example, if the server used the GDI interface 26 , the client would use the display driver 40 . If the server 12 used the direct draw interface 28 , the client would use the direct draw HAL interface. And, if the server 12 used the OpenGL interface 30 , the client would use the OpenGL interface 44 .
  • the graphical API's used by the server are device independent, while the graphical API's used by the clients are device dependent.
  • the server's execution of the computer game is affected by inputs provided by the client.
  • the server 12 requires a substantial amount of software and hardware to support the client in executing the computer game.
  • Such software and hardware requirements increase proportionally with the amount of parallel processing the server supports for the clients. For example, if the server 12 is designed to support at least one simultaneous execution of an application for each of the clients 16 - 20 , it requires substantially more software and hardware than if the server 12 is designed to support only a few clients at any given time.
  • the application being processed for a client includes computations of physics, object occlusion and behavior, a substantial amount of hardware and memory is needed to store the corresponding data. Further, each execution of the application needs to be done in individual sessions by the server while the rendering is done on the client.
  • each client 16 - 20 includes a significant amount of software and hardware to function in the computer network 10 .
  • each client requires a corresponding graphical API to that of the server, and will typically include multiple graphical API's, memory to store the software of the graphical API's, and a graphics processor.
  • Such software and hardware adds cost to each of the client computers in the network. With a consumer demand for decreased cost of client computers, current implementation of computer networks is contra to market demands.
  • FIG. 1 illustrates a schematic block diagram of a prior art computer network
  • FIG. 2 illustrates a schematic block diagram of a centralized application system in accordance with the present invention
  • FIG. 3 illustrates a graphical representation of a server and a client in accordance with the present invention
  • FIG. 4 illustrates a schematic block diagram of an alternate centralized application system in accordance with the present invention
  • FIG. 5 illustrates a logic diagram of method for accessing an application in a centralized application system in accordance with the present invention.
  • FIG. 6 illustrates a logic diagram of an alternate method for accessing an application in a centralized application system in accordance with the present invention.
  • the present invention provides a method and apparatus for providing access to applications in centralized application system that includes a server and a plurality of clients.
  • the method and apparatus include processing that begins by having the server execute an application in response to a request and/or inputs by one of the clients to produce application data.
  • the processing continues as the server provides an application interface for interfacing the application data for the requesting client to produce interface data.
  • the providing of the application interface includes providing both a server application interface (e.g., a GDI, a direct draw, or the OpenGL) that functions as a device independent interface for the application data and a client application interface (e.g., a display driver, a direct draw HAL, or an OpenGL) that function as a translator for device independent commands into device dependent interface for the application data.
  • a server application interface e.g., a GDI, a direct draw, or the OpenGL
  • client application interface e.g., a display driver, a direct draw HAL, or an OpenGL
  • the processing continues when the server encodes the interface data to produce encoded data.
  • the server may use any one of the Motion Picture Expert Group (MPEG) encoding protocols to perform the encoding.
  • MPEG Motion Picture Expert Group
  • the processing as the server provides the encoded data to the plurality of clients.
  • the processing continues as the targeted client determines that it is being addressed by the encoded data.
  • the processing continues as the targeted client decodes the encoded data to produce display data. Accordingly, each of the clients includes a decoder module to decode the data, which is substantially less software and hardware than required by clients within the network of FIG. 1.
  • FIG. 2 illustrates a schematic block diagram of a centralized application system 50 that includes a server 52 , a video/audio database 14 , and a plurality of client devices 54 - 58 .
  • the server 52 includes a processing module 60 , memory 62 and an encoder 64 .
  • the encoder 64 may be an MPEG encoder, JPEG encoder, MJPEG encoder, MP 3 encoder, and/or any other type of device that encoded video and/or audio data.
  • the processing module 60 may be a single processing device or a plurality of processing devices.
  • Such a processing device may be a microcontroller, microcomputer, microprocessor, digital signal processor, central processing unit, programmable gate array, logic circuitry, state machine, digital signal processor, and/or any device that manipulates signals (analog and/or digital) based on operational instructions.
  • the memory 62 which functions as a digital storage medium, may be a single memory device or a plurality of memory devices. Such a memory device may be volatile memory, nonvolatile memory, static memory, dynamic memory, read-only memory, random access memory, and/or any device that stores digital information.
  • the memory 62 store operational instructions that, when executed by the corresponding processing module 60 causes the processing module to implement one or more of the processing steps illustrated in FIGS. 5 and 6, and as graphically illustrated in FIGS. 2 - 4 .
  • Each of the client devices 54 - 58 which may be a computer, television, monitor, etc., includes a decoder 86 and a display interface 88 , or a processing module 80 , memory 82 , and a display interface 78 .
  • the decoder 86 is the compliment of the encoder 64 employed by the server 52 .
  • the decoder 86 may be an MPEG decoder, JPEG decoder, MP3 decoder, MJPEG decoder, and/or any other device for decoding encoding video and/or audio data, such as a DVD chip set.
  • the processing module 80 may be a single processing device or a plurality of processing devices.
  • Such a processing device may be a microcontroller, microcomputer, microprocessor, digital signal processor, central processing unit, programmable gate array, logic circuitry, state machine, digital signal processor, and/or any device that manipulates signals (analog and/or digital) based on operational instructions.
  • the memory 82 which functions as a digital storage medium, may be a single memory device or a plurality of memory devices. Such a memory device may be volatile memory, nonvolatile memory, static memory, dynamic memory, read-only memory, random access memory, and/or any device that stores digital information.
  • the memory 82 store operational instructions that, when executed by the corresponding processing module 80 causes the processing module to implement one or more of the processing steps illustrated in FIGS. 5 and 6, and as graphically illustrated in FIGS. 2 - 4 .
  • one of the clients requests access to an application stored in the video/audio database 14 by providing a request to the server 52 .
  • Upon validating the request using conventional authentication processes of local area networks opens the application 68 and begins executing the application 68 via the processing module 60 .
  • the processing module 60 As a result of executing the application 68 , the processing module 60 generates application data 72 .
  • the application data 72 includes graphical data representing the current execution of the application 68 .
  • Such an application 68 may be a game, a drawing application, a word processing application, a presentation application, a spreadsheet application, a web browser application, an email application, a time management application, a database application, drawing application, video application, audio application, and/or any other type of processing of video, text, and/or audio data.
  • the server 52 then processes the application data 72 via the application interface 70 routine being executed by the processing module 60 to produce interface data.
  • the application interface 70 provides a server application interface operable to provide a device independent interface for the application data and a client application interface to provide a device dependent interface for the application data.
  • the server application interface may be a graphical display interface (GDI), while the client application interface may be a corresponding device driver.
  • the server application interface may be an independent direct draw interface, while the client application interface may be at least one of direct draw hardware abstraction layer (HAL) and a direct draw three-dimensional HAL.
  • HAL direct draw hardware abstraction layer
  • the server application interface and the client application interface may be an Open GL interface.
  • the server 52 then encodes the interface data, which is in a device dependent state, via the server encoder 64 to produce encoded data 74 .
  • the server encoder 64 may be an MPEG encoder that provides the application data as MPEG packets.
  • the server encoder may include a drawing packet instruction encoder and router to provide encoded instruction packets regarding the application data to the plurality of clients.
  • the server 52 provides the encoded data 74 as packets to the plurality of clients.
  • the server may include an Ethernet interface that is operably coupled to a network connection, which provides coupling to the plurality of clients.
  • the server may provide the packets of data to the plurality of clients via a wireless network connection, such as a radio frequency transmission path and/or infrared transmission path.
  • Each of the clients receives the packets of application data and determines whether it is a target of the packets.
  • each client includes an Ethernet interface or a wireless interface.
  • An Ethernet interface is operably coupled to a network connection, which provides coupling between the server and the plurality of clients.
  • the wireless interface couples the client to the server via a wireless network connection, such as a radio frequency transmission path and/or infrared transmission path.
  • the client decodes the packets to recapture display data 84 or 90 .
  • the display data 84 or 90 is provided to a display interface 78 or 88 , which couples the client device to a display.
  • the display may be a monitor, television, computer, personal digital assistant, etc.
  • the client device may be incorporated in the display.
  • the client 56 decodes the packets via the decoder 86 .
  • the type of the decoder 86 is dependent on the type of encoder used in the server.
  • the decoder 86 may be an MPEG decoder and/or a DVD player chip set.
  • the decoder 86 includes a packet decoder and a rendering engine. The packet decoder retrieves drawing instructions from the encoded instruction packets and the rendering engine generates display data from the retrieved drawing instructions.
  • the client 54 decodes the packets via the processing module 80 functioning as a decoder 76 .
  • the decoding function 76 may be programmed to perform as an MPEG decoder and/or a DVD player chip set.
  • the decoder 76 may be programmed to retrieve drawing instructions from the encoded instruction packets and then generate display data from the retrieved drawing instructions.
  • the centralized application system enables each of the client devices to be constructed of less expensive components, such as an MPEG decoder or DVD chip set, than the processing circuitry used to implement the clients of FIG. 1. Accordingly, the present invention enables inexpensive “thin” components to be used as the client device, thus reducing the overall cost of the network, while maintaining the quality and efficiency of application sharing.
  • FIG. 3 illustrates a graphical representation of a server 52 and a client 56 of the system 50 of FIG. 1.
  • the server 52 includes the processing module 60 and memory 62 , which function to provide a plurality of applications 68 - 1 , - 2 , and - 3 , a plurality of graphical display interfaces 26 - 1 , - 2 , and - 3 , a plurality of display drivers 40 - 1 , - 2 , and - 3 , a plurality of direct draw interfaces 28 - 1 , - 2 , and - 3 , a plurality of direct draw HAL interfaces 42 - 1 , - 2 , and - 3 , a plurality of OpenGL device independent interfaces 30 - 1 , - 2 , and - 3 , and a plurality of device dependent OpenGL interfaces 44 - 1 , - 2 , and - 3 .
  • the plurality of display drivers 40 - 1 , - 2 , and - 3 , the plurality of direct draw HAL interfaces 42 - 1 , - 2 , and - 3 , and the plurality of device dependent OpenGL interfaces 44 - 1 , - 2 , and - 3 are coupled to the server encoder 64 .
  • the server 52 further includes an input decoder 92 operably coupled to receive inputs and/or requests from the plurality of clients via the network connection (wired or wireless).
  • the server 52 still further includes a plurality of display HAL interfaces 94 - 1 , - 2 , and - 3 , and a plurality of direct x interfaces 96 - 1 , - 2 , and - 3 .
  • the functioning of a display HAL interface and a direct x interface is known, thus no further discussion will be presented except to further illustrate the concepts of the present invention.
  • the client 56 includes a decoder 86 , a display interface 88 and an input processor 98 .
  • the functionality of the decoder 86 and the display interface 88 is as previously described with reference to FIG. 2.
  • the input processor 98 is operably coupled to receive inputs from an input device and provide packets of the input data to the server 52 .
  • the input device may be a keyboard, joystick, mouse, voice recognition software, touch screen, eye tracking device, etc.
  • the input processor 98 further includes a network interface such as an Ethernet card or a wireless network card.
  • the client 56 provides a request to access an application or provides inputs regarding the execution of the application to the server 52 .
  • the server 52 receives the inputs via the input decoder 92 , which includes a network interface card corresponding to the network interface care included in the client 56 .
  • the server 52 processes the decoded input via one of the display HAL interfaces 94 - 1 , - 2 , and - 3 and the corresponding one of the direct x interfaces 96 - 1 , - 2 , and - 3 .
  • the resulting recaptured input signal is provided to a corresponding application 68 - 1 , - 2 , and - 3 .
  • the server 52 includes a plurality of layers of device independent API's, applications, and device dependent API's. Each layer supports one of the clients associated with the server. Such layering may be implemented as a virtual layering such that one processing module performs all of the applications and API's and provides logical separation of the processing. Alternatively, separate processing modules may implement the layering, where each processing module processes a layer.
  • the server 52 adjusts the processing of the application 68 - 1 , - 2 , and - 3 based on the recaptured input signals.
  • the resulting application data is then processed by one of the device independent API's (e.g., GDI, direct draw, or Open GL) and then the application data is processed by one of the device dependent API's (e.g., display driver, direct draw HAL, and Open GL).
  • the interfaced processed data is provided to the server encoder 64 , which encodes the data into packets.
  • the server 52 provides the packets to the targeted client via the wired or wireless network connection.
  • FIG. 4 illustrates a schematic block diagram of an alternate centralized application system 100 that includes a server 52 , a video/audio database 14 , and a plurality of clients 54 - 58 .
  • the server 52 includes the processing module 60 , the memory 62 and the server encoder 64 .
  • the server encoder 64 includes a drawing packet instruction encoder 102 and a router 104 .
  • the functionality of the processing module 60 and the memory 62 is as previously discussed with reference to FIGS. 2 and 3.
  • Each of the clients includes the processing module 80 , the memory 82 , and the display interface 78 .
  • the memory 82 stores operational instructions that cause the processing module 80 to function as a decoder 76 that includes a packet decoder 108 and a rendering engine 110 .
  • the server 52 generates rendering instructions regarding the application data via the drawing packet instruction encoder 102 .
  • the rendering instructions follow a convention video and/or audio rendering routing and include graphics data.
  • the encoder 102 encodes the graphics data, which is provided to the clients via the router 104 .
  • the clients 54 - 58 receive the encoded instruction packets 106 and determine whether it is a target of the packets 106 . When the client is a target, the client decodes the packets 106 to recapture the graphics data.
  • the rendering engine 110 processes the graphics data to produce pixel data that is subsequently provided to a display.
  • FIG. 5 illustrates a logic diagram of method for accessing an application in a centralized application system.
  • the processing begins at step 120 where the server executes an application to produce application data.
  • the application may be a game, a drawing application, a word processing application, a presentation application, a spreadsheet application, a web browser application, an email application, a time management application, and a database application.
  • the execution of an application includes opening the application in response to a request and adjusting the execution of the application based on input signals received from the client.
  • step 122 the server provides an application interface for interfacing the application data for a targeted client to produce interface data.
  • the providing of the application interface may be done by providing a device independent API and a device dependent API.
  • step 124 the server encodes the interface data to produce encoded data.
  • the server may using an MPEG encoding scheme, drawing instruction packet encoding, or other means for encoding video and/or audio data to produce the encoded data.
  • step 126 the server provides the encoded data to the plurality of clients.
  • each of the clients determines whether it is a target of the encoded data.
  • the process then proceeds to step 130 where the processing branches depending on whether the client is being addressed by the packets. When the client is not addressed, the processing proceeds to step 134 where the processing is complete for this client. If, however, the client is addressed, the process proceeds to claim 132 where the client decodes the encoded data to recapture the application data. The client processes the application data to produce display data.
  • FIG. 6 illustrates a logic diagram of an alternate method for accessing an application in a centralized application system.
  • the processing begins at step 140 where a client receives a user input signal from a user of the client device.
  • the user input signal may be to initiate execution of an application or providing instructions on how to manipulate the execution of the application.
  • the processing then continues at step 142 where the client processes the user input signal to produce input data.
  • the processing then continues at step 144 where the client encodes the input data to produce input packets.
  • the processing then continues at step 146 where the client provides the input packets to the server.
  • step 148 the server decodes the input packets to recapture the input data.
  • step 150 the server provides a HAL and Direct X application interface such that the input signals are interfaced with the application.
  • step 152 the server alters execution of the application based on the input data.
  • the client devices may include less sophisticated circuitry to produce display data. As such, the cost of such client devices is reduced.
  • other embodiments may be derived from the teachings of the present invention without deviating from the scope of the claims.

Abstract

A method and apparatus for providing accessing to applications in centralized application system includes processing that begins by having the server execute an application in response to a request and/or inputs by one of the clients to produce application data. The processing continues as the server provides an application interface for interfacing the application data for the requesting client to produce interface data. The processing continues when the server encodes the interface data to produce encoded data. The processing as the server provides the encoded data to the plurality of clients. The processing continues as the targeted client determines that it is being addressed by the encoded data. The processing continues as the targeted client decodes the encoded data to produce display data.

Description

  • This patent application is a continuation-in-part of co-pending patent application entitled METHOD AND APPARATUS FOR A MULTIMEDIA SYSTEM, having a filing date of: May 24, 2001, and a serial number of: Ser. No. 09/864,524.[0001]
  • TECHNICAL FIELD OF THE INVENTION
  • This invention relates generally to local area networks and more particularly to a computer network that utilize a local area network. [0002]
  • BACKGROUND OF THE INVENTION
  • As is known, computer networks include a server operably coupled to a plurality of client computers. Such computer networks offer the advantage of sharing resources among computers, via the server, without each computer having to separately possess the particular resource. For example, the server may provide Internet access for the clients, store programs and/or data for downloading to the clients, include a database that stores media content and applications for client access, and/or provides virtual sessions for the clients. [0003]
  • In one known computer network, the server processes network traffic and provides routing functions for clients to access the Internet. As such, the server is functioning as a network server for the clients. Accordingly, each of the clients includes storage elements and processing resources to execute applications (e.g., word processing, drawing, spread sheets, web browser, etc) on data received via the server. Such a computer network may be enhanced by including file server functionality within the server to store programs and data required for a client to load and execute the application. However, the execution of the application still occurs on the client computer. [0004]
  • In another known computer network, the server creates virtual sessions with each client running terminal sessions, which are responsible only for rendering the results of the execution on the server. However, such a network is generally not suitable for relatively high bandwidth high-resolution live video rendering applications. [0005]
  • In yet another known computer network, the server contains a database that stores all relevant information about the media content and applications that might be requested by the client. Such a computer network is illustrated in FIG. 1. The [0006] computer network 10 includes a server 12, a video/audio database 14, a local area network (LAN) connection 15, and a plurality of client computers 16-20. The server includes a processor 22, such as a central processing unit, and memory 24, such as system memory. The memory 24 stores an operating system application that enables the processor 22 to perform a graphical display interface function (GDI) 26, a direct draw function 28, and/or an OpenGL function 30. Each of these graphical interfacing functions is well known to provide an application interface (API) for the server when processing one or more applications stored in the video/audio database 14.
  • The video/[0007] audio database 14 stores applications that are executed by the server on behalf of one or more of the client computers 16-20. Such applications include, but are not limited to, video games, MP3 files, DVD files, video files (e.g., MPEG files, JPEG files, MJPEG files, etc.), word processing applications, spreadsheet applications, and drawing applications.
  • Each of the client computers [0008] 16-20 includes a processor 32, a graphics processor 34, and memory 36. The memory 36 stores an operating system application that enables the processor 32 to function as a display driver 40, a direct draw HAL (hardware application layer) 42, and/or an OpenGL graphical interface 44.
  • In operation, a client computer, for [0009] example client 16, requests access to a particular application stored in the video/audio database 14, for example a computer game. The server 12, upon validating the request, opens the requested computer game application and begins execution thereof. As the server 12 is executing the computer game application, it is generating graphical data. The graphical data is processed by one of the graphical API's (i.e., the GDI 26, the direct draw 28, or the OpenGL 30) into device independent packets, which includes the address for client 16. The packets are provided on LAN 15 and interpreted by each of the clients 16-20.
  • [0010] Client 16 retrieves the packets from the LAN 15 and processes them via its graphical API (i.e., the display driver 40, the direct draw HAL 42, or the OpenGL 44) to retrieve the graphical data. The graphical data is then processed by the graphics processor 34 to produce display data that is provided to a monitor 38. Note that the graphical API used by the client will correspond to the graphical API used by the server. For example, if the server used the GDI interface 26, the client would use the display driver 40. If the server 12 used the direct draw interface 28, the client would use the direct draw HAL interface. And, if the server 12 used the OpenGL interface 30, the client would use the OpenGL interface 44. As is known, the graphical API's used by the server are device independent, while the graphical API's used by the clients are device dependent. As is also known, the server's execution of the computer game is affected by inputs provided by the client.
  • While it appears to the user of [0011] client computer 16 that all of the processing of the computer game is being done by the client computer 16, in actuality there is a substantial amount of interaction between the server 12 and the client computer 16. Accordingly, the server 12 requires a substantial amount of software and hardware to support the client in executing the computer game. Such software and hardware requirements increase proportionally with the amount of parallel processing the server supports for the clients. For example, if the server 12 is designed to support at least one simultaneous execution of an application for each of the clients 16-20, it requires substantially more software and hardware than if the server 12 is designed to support only a few clients at any given time. As another example, if the application being processed for a client includes computations of physics, object occlusion and behavior, a substantial amount of hardware and memory is needed to store the corresponding data. Further, each execution of the application needs to be done in individual sessions by the server while the rendering is done on the client.
  • In addition, each client [0012] 16-20 includes a significant amount of software and hardware to function in the computer network 10. As mentioned, each client requires a corresponding graphical API to that of the server, and will typically include multiple graphical API's, memory to store the software of the graphical API's, and a graphics processor. Such software and hardware adds cost to each of the client computers in the network. With a consumer demand for decreased cost of client computers, current implementation of computer networks is contra to market demands.
  • Therefore, a need exists for a method and apparatus that reduces software and/or hardware requirements within client devices within networks while maintaining the advantages of networking by having device and application independent rendering instructions on the client.[0013]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 illustrates a schematic block diagram of a prior art computer network; [0014]
  • FIG. 2 illustrates a schematic block diagram of a centralized application system in accordance with the present invention; [0015]
  • FIG. 3 illustrates a graphical representation of a server and a client in accordance with the present invention; [0016]
  • FIG. 4 illustrates a schematic block diagram of an alternate centralized application system in accordance with the present invention; [0017]
  • FIG. 5 illustrates a logic diagram of method for accessing an application in a centralized application system in accordance with the present invention; and [0018]
  • FIG. 6 illustrates a logic diagram of an alternate method for accessing an application in a centralized application system in accordance with the present invention.[0019]
  • DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT
  • Generally, the present invention provides a method and apparatus for providing access to applications in centralized application system that includes a server and a plurality of clients. The method and apparatus include processing that begins by having the server execute an application in response to a request and/or inputs by one of the clients to produce application data. The processing continues as the server provides an application interface for interfacing the application data for the requesting client to produce interface data. The providing of the application interface includes providing both a server application interface (e.g., a GDI, a direct draw, or the OpenGL) that functions as a device independent interface for the application data and a client application interface (e.g., a display driver, a direct draw HAL, or an OpenGL) that function as a translator for device independent commands into device dependent interface for the application data. [0020]
  • The processing continues when the server encodes the interface data to produce encoded data. The server may use any one of the Motion Picture Expert Group (MPEG) encoding protocols to perform the encoding. The processing as the server provides the encoded data to the plurality of clients. The processing continues as the targeted client determines that it is being addressed by the encoded data. The processing continues as the targeted client decodes the encoded data to produce display data. Accordingly, each of the clients includes a decoder module to decode the data, which is substantially less software and hardware than required by clients within the network of FIG. 1. [0021]
  • The present invention can be more fully described with reference to FIGS. [0022] 2-6. FIG. 2 illustrates a schematic block diagram of a centralized application system 50 that includes a server 52, a video/audio database 14, and a plurality of client devices 54-58. The server 52 includes a processing module 60, memory 62 and an encoder 64. The encoder 64 may be an MPEG encoder, JPEG encoder, MJPEG encoder, MP3 encoder, and/or any other type of device that encoded video and/or audio data. The processing module 60 may be a single processing device or a plurality of processing devices. Such a processing device may be a microcontroller, microcomputer, microprocessor, digital signal processor, central processing unit, programmable gate array, logic circuitry, state machine, digital signal processor, and/or any device that manipulates signals (analog and/or digital) based on operational instructions. The memory 62, which functions as a digital storage medium, may be a single memory device or a plurality of memory devices. Such a memory device may be volatile memory, nonvolatile memory, static memory, dynamic memory, read-only memory, random access memory, and/or any device that stores digital information. The memory 62 store operational instructions that, when executed by the corresponding processing module 60 causes the processing module to implement one or more of the processing steps illustrated in FIGS. 5 and 6, and as graphically illustrated in FIGS. 2-4.
  • Each of the client devices [0023] 54-58, which may be a computer, television, monitor, etc., includes a decoder 86 and a display interface 88, or a processing module 80, memory 82, and a display interface 78. The decoder 86 is the compliment of the encoder 64 employed by the server 52. As such, the decoder 86 may be an MPEG decoder, JPEG decoder, MP3 decoder, MJPEG decoder, and/or any other device for decoding encoding video and/or audio data, such as a DVD chip set. The processing module 80 may be a single processing device or a plurality of processing devices. Such a processing device may be a microcontroller, microcomputer, microprocessor, digital signal processor, central processing unit, programmable gate array, logic circuitry, state machine, digital signal processor, and/or any device that manipulates signals (analog and/or digital) based on operational instructions. The memory 82, which functions as a digital storage medium, may be a single memory device or a plurality of memory devices. Such a memory device may be volatile memory, nonvolatile memory, static memory, dynamic memory, read-only memory, random access memory, and/or any device that stores digital information. The memory 82 store operational instructions that, when executed by the corresponding processing module 80 causes the processing module to implement one or more of the processing steps illustrated in FIGS. 5 and 6, and as graphically illustrated in FIGS. 2-4.
  • In operation, one of the clients requests access to an application stored in the video/[0024] audio database 14 by providing a request to the server 52. Upon validating the request using conventional authentication processes of local area networks, opens the application 68 and begins executing the application 68 via the processing module 60. As a result of executing the application 68, the processing module 60 generates application data 72. The application data 72 includes graphical data representing the current execution of the application 68. Such an application 68 may be a game, a drawing application, a word processing application, a presentation application, a spreadsheet application, a web browser application, an email application, a time management application, a database application, drawing application, video application, audio application, and/or any other type of processing of video, text, and/or audio data.
  • The [0025] server 52 then processes the application data 72 via the application interface 70 routine being executed by the processing module 60 to produce interface data. In general, the application interface 70 provides a server application interface operable to provide a device independent interface for the application data and a client application interface to provide a device dependent interface for the application data. The server application interface may be a graphical display interface (GDI), while the client application interface may be a corresponding device driver. Alternatively, the server application interface may be an independent direct draw interface, while the client application interface may be at least one of direct draw hardware abstraction layer (HAL) and a direct draw three-dimensional HAL. As yet a further alternative, the server application interface and the client application interface may be an Open GL interface.
  • The [0026] server 52 then encodes the interface data, which is in a device dependent state, via the server encoder 64 to produce encoded data 74. The server encoder 64 may be an MPEG encoder that provides the application data as MPEG packets. Alternatively, the server encoder may include a drawing packet instruction encoder and router to provide encoded instruction packets regarding the application data to the plurality of clients.
  • The [0027] server 52 provides the encoded data 74 as packets to the plurality of clients. As such, the server may include an Ethernet interface that is operably coupled to a network connection, which provides coupling to the plurality of clients. Alternatively, the server may provide the packets of data to the plurality of clients via a wireless network connection, such as a radio frequency transmission path and/or infrared transmission path.
  • Each of the clients receives the packets of application data and determines whether it is a target of the packets. To receive the packets, each client includes an Ethernet interface or a wireless interface. An Ethernet interface is operably coupled to a network connection, which provides coupling between the server and the plurality of clients. The wireless interface couples the client to the server via a wireless network connection, such as a radio frequency transmission path and/or infrared transmission path. [0028]
  • When the client is a target of the packets, the client decodes the packets to recapture [0029] display data 84 or 90. The display data 84 or 90 is provided to a display interface 78 or 88, which couples the client device to a display. As one of average skill in the art will appreciate, the display may be a monitor, television, computer, personal digital assistant, etc. As one of average skill will further appreciate, the client device may be incorporated in the display.
  • For example, if [0030] client 56 is the target of the packets, the client 56 decodes the packets via the decoder 86. The type of the decoder 86 is dependent on the type of encoder used in the server. For instance, the decoder 86 may be an MPEG decoder and/or a DVD player chip set. Alternatively, the decoder 86 includes a packet decoder and a rendering engine. The packet decoder retrieves drawing instructions from the encoded instruction packets and the rendering engine generates display data from the retrieved drawing instructions.
  • If [0031] client 54 is the target of the packets, the client 54 decodes the packets via the processing module 80 functioning as a decoder 76. The decoding function 76 may be programmed to perform as an MPEG decoder and/or a DVD player chip set. Alternatively, the decoder 76 may be programmed to retrieve drawing instructions from the encoded instruction packets and then generate display data from the retrieved drawing instructions.
  • As one of average skill in the art will appreciate, the centralized application system enables each of the client devices to be constructed of less expensive components, such as an MPEG decoder or DVD chip set, than the processing circuitry used to implement the clients of FIG. 1. Accordingly, the present invention enables inexpensive “thin” components to be used as the client device, thus reducing the overall cost of the network, while maintaining the quality and efficiency of application sharing. [0032]
  • FIG. 3 illustrates a graphical representation of a [0033] server 52 and a client 56 of the system 50 of FIG. 1. The server 52 includes the processing module 60 and memory 62, which function to provide a plurality of applications 68-1, -2, and -3, a plurality of graphical display interfaces 26-1, -2, and -3, a plurality of display drivers 40-1, -2, and -3, a plurality of direct draw interfaces 28-1, -2, and -3, a plurality of direct draw HAL interfaces 42-1, -2, and -3, a plurality of OpenGL device independent interfaces 30-1, -2, and -3, and a plurality of device dependent OpenGL interfaces 44-1, -2, and -3. The plurality of display drivers 40-1, -2, and -3, the plurality of direct draw HAL interfaces 42-1, -2, and -3, and the plurality of device dependent OpenGL interfaces 44-1, -2, and -3 are coupled to the server encoder 64.
  • The [0034] server 52 further includes an input decoder 92 operably coupled to receive inputs and/or requests from the plurality of clients via the network connection (wired or wireless). The server 52 still further includes a plurality of display HAL interfaces 94-1, -2, and -3, and a plurality of direct x interfaces 96-1, -2, and -3. The functioning of a display HAL interface and a direct x interface is known, thus no further discussion will be presented except to further illustrate the concepts of the present invention.
  • The [0035] client 56 includes a decoder 86, a display interface 88 and an input processor 98. The functionality of the decoder 86 and the display interface 88 is as previously described with reference to FIG. 2. The input processor 98 is operably coupled to receive inputs from an input device and provide packets of the input data to the server 52. The input device may be a keyboard, joystick, mouse, voice recognition software, touch screen, eye tracking device, etc. The input processor 98 further includes a network interface such as an Ethernet card or a wireless network card.
  • In operation, the [0036] client 56 provides a request to access an application or provides inputs regarding the execution of the application to the server 52. The server 52 receives the inputs via the input decoder 92, which includes a network interface card corresponding to the network interface care included in the client 56. Upon decoding the input, the server 52 processes the decoded input via one of the display HAL interfaces 94-1, -2, and -3 and the corresponding one of the direct x interfaces 96-1, -2, and -3. The resulting recaptured input signal is provided to a corresponding application 68-1, -2, and -3. As one of average skill in the art will appreciate, the server 52 includes a plurality of layers of device independent API's, applications, and device dependent API's. Each layer supports one of the clients associated with the server. Such layering may be implemented as a virtual layering such that one processing module performs all of the applications and API's and provides logical separation of the processing. Alternatively, separate processing modules may implement the layering, where each processing module processes a layer.
  • The [0037] server 52 adjusts the processing of the application 68-1, -2, and -3 based on the recaptured input signals. The resulting application data is then processed by one of the device independent API's (e.g., GDI, direct draw, or Open GL) and then the application data is processed by one of the device dependent API's (e.g., display driver, direct draw HAL, and Open GL). The interfaced processed data is provided to the server encoder 64, which encodes the data into packets. The server 52 provides the packets to the targeted client via the wired or wireless network connection.
  • FIG. 4 illustrates a schematic block diagram of an alternate [0038] centralized application system 100 that includes a server 52, a video/audio database 14, and a plurality of clients 54-58. The server 52 includes the processing module 60, the memory 62 and the server encoder 64. The server encoder 64 includes a drawing packet instruction encoder 102 and a router 104. The functionality of the processing module 60 and the memory 62 is as previously discussed with reference to FIGS. 2 and 3.
  • Each of the clients includes the [0039] processing module 80, the memory 82, and the display interface 78. The memory 82 stores operational instructions that cause the processing module 80 to function as a decoder 76 that includes a packet decoder 108 and a rendering engine 110.
  • In operation, the [0040] server 52 generates rendering instructions regarding the application data via the drawing packet instruction encoder 102. The rendering instructions follow a convention video and/or audio rendering routing and include graphics data. In addition, the encoder 102 encodes the graphics data, which is provided to the clients via the router 104. The clients 54-58 receive the encoded instruction packets 106 and determine whether it is a target of the packets 106. When the client is a target, the client decodes the packets 106 to recapture the graphics data. The rendering engine 110 processes the graphics data to produce pixel data that is subsequently provided to a display.
  • FIG. 5 illustrates a logic diagram of method for accessing an application in a centralized application system. The processing begins at [0041] step 120 where the server executes an application to produce application data. The application may be a game, a drawing application, a word processing application, a presentation application, a spreadsheet application, a web browser application, an email application, a time management application, and a database application. The execution of an application includes opening the application in response to a request and adjusting the execution of the application based on input signals received from the client.
  • The processing continues at [0042] step 122, where the server provides an application interface for interfacing the application data for a targeted client to produce interface data. The providing of the application interface may be done by providing a device independent API and a device dependent API. The processing then continues at step 124, where the server encodes the interface data to produce encoded data. The server may using an MPEG encoding scheme, drawing instruction packet encoding, or other means for encoding video and/or audio data to produce the encoded data. The processing continues at step 126 where the server provides the encoded data to the plurality of clients.
  • The processing then continues at [0043] step 128, where each of the clients determines whether it is a target of the encoded data. The process then proceeds to step 130 where the processing branches depending on whether the client is being addressed by the packets. When the client is not addressed, the processing proceeds to step 134 where the processing is complete for this client. If, however, the client is addressed, the process proceeds to claim 132 where the client decodes the encoded data to recapture the application data. The client processes the application data to produce display data.
  • FIG. 6 illustrates a logic diagram of an alternate method for accessing an application in a centralized application system. The processing begins at [0044] step 140 where a client receives a user input signal from a user of the client device. The user input signal may be to initiate execution of an application or providing instructions on how to manipulate the execution of the application. The processing then continues at step 142 where the client processes the user input signal to produce input data. The processing then continues at step 144 where the client encodes the input data to produce input packets. The processing then continues at step 146 where the client provides the input packets to the server.
  • The processing then proceeds to step [0045] 148 where the server decodes the input packets to recapture the input data. The processing then continues at step 150 where the server provides a HAL and Direct X application interface such that the input signals are interfaced with the application. The processing then proceeds to step 152 where the server alters execution of the application based on the input data.
  • The preceding discussion has presented a method and apparatus for reducing hardware and software requirements for client devices within local area networks. By including device independent and dependent API's in the server, the client devices may include less sophisticated circuitry to produce display data. As such, the cost of such client devices is reduced. As one of average skill in the art will appreciate, other embodiments may be derived from the teachings of the present invention without deviating from the scope of the claims. [0046]

Claims (50)

What is claimed is:
1. A centralized application system comprises:
server; and
plurality of clients, wherein the server includes:
server processing module;
server encoder operably coupled to the server processing module; and
server memory operably coupled to the server processing module, wherein the server memory stores operational instructions that cause the server processing module to:
execute an application to produce application data; and
provide an application interface for interfacing the application data to the server encoder;
wherein the server encoder encodes the application data to produce encoded data and wherein the server encoder provides the encoded data to at least one of the plurality of clients;
wherein each of the plurality of clients includes a decoder operably coupled to determine whether the encoded data is addressed for the each of the plurality of clients and, when the encoded data is addressed for the each of the plurality of clients, decode the encoded data to produce display data.
2. The centralized application system of claim 1, wherein the application interface further comprises:
server application interface operable to provide a device independent interface for the application data; and
client application interface to provide a device dependent interface for the application data.
3. The centralized application system of claim 2, wherein the server application interface further comprises a graphical display interface (GDI) and the client application interface further comprises a corresponding device driver.
4. The centralized application system of claim 2, wherein the server application interface further comprises an independent direct draw interface and the client application interface further comprises at least one of direct draw hardware abstraction layer (HAL) and a direct draw three-dimensional HAL.
5. The centralized application system of claim 2, wherein the server application interface and the client application interface further comprise an Open GL interface.
6. The centralized application system of claim 1, wherein the server processing module further comprises:
plurality of virtual processors, wherein each of the virtual processors executes an individual application to produce individual application data and provides a corresponding application interface that provides the individual application data to the server encoder, wherein the server encoder encodes the individual application data from each of the virtual processors.
7. The centralized application system of claim 1, wherein each of the plurality of clients further comprises:
input processor operably coupled to receive user inputs, to process the user inputs to produce input data, to encode the input data into input packets, and to provide the input packets to the server.
8. The centralized application system of claim 7, wherein the server further comprises:
input decoder operably coupled to recapture the input data from the input packets and to provide the input data to the server processing module, wherein the memory further comprises operational instructions that cause the server processing module to provide a display hardware abstraction layer (HAL) and direct X layer such that the executing of the application is altered in accordance with the input data.
9. The centralized application system of claim 7, wherein the each of the plurality of clients further comprises at least one of:
Ethernet interface operably coupled to a network connection to provide the input packets to the server; and
wireless transmitter operably coupled to provide the input packets via a radio frequency transmission to the server.
10. The centralized application system of claim 9, wherein the server encoder further comprises at least one of:
Ethernet interface operably coupled to the network connection to receive the input packets; and
wireless receiver operably coupled to receive the input packets via the radio frequency transmission.
11. The centralized application system of claim 1, wherein the application comprises at least one of: a game, a drawing application, a word processing application, a presentation application, a spreadsheet application, a web browser application, an email application, a time management application, and a database application.
12. The centralized application system of claim 1, wherein the server encoder further comprises an motion picture expert group (MPEG) encoder that provides the application data as MPEG packets, and wherein the decoder of each of the plurality of clients further comprises at least one of:
an MPEG decoder and DVD player chip set.
13. The centralized application system of claim 1, wherein the server encoder further comprises a drawing packet instruction encoder and router to provide encoded instruction packets regarding the application data to the plurality of clients, and wherein the decoder of each of the plurality of clients further comprises:
packet decoder operably coupled to retrieve drawing instructions from the encoded instruction packets; and
rendering engine operably coupled to produce display data based on the retrieved drawing instructions.
14. The centralized application system of claim 1, wherein the server encoder further comprises at least one of:
Ethernet interface operably coupled to a network connection to provide packets of the encoded data to the plurality of clients; and
wireless transmitter operably coupled to provide the encoded data via a radio frequency transmission to the plurality of clients.
15. The centralized application system of claim 14, wherein each of the plurality of clients further comprises at least one of:
Ethernet interface operably coupled to the network connection to receive packets of the encoded data from the server; and
wireless receiver operably coupled to receive the encoded data via the radio frequency transmission from the server.
16. A server for use in a centralized application system, the server comprises:
server processing module;
server encoder operably coupled to the server processing module; and
server memory operably coupled to the server processing module, wherein the server memory stores operational instructions that cause the server processing module to:
execute an application to produce application data; and
provide an application interface for interfacing the application data to the server encoder;
wherein the server encoder encodes the application data to produce encoded data and wherein the server encoder provides the encoded data to at least one of a plurality of clients.
17. The server of claim 16, wherein the application interface further comprises:
server application interface operable to provide a device independent interface for the application data; and
client application interface to provide a device dependent interface for the application data.
18. The server of claim 17, wherein the server application interface further comprises a graphical display interface (GDI) and the client application interface further comprises a corresponding device driver.
19. The server of claim 17, wherein the server application interface further comprises an independent direct draw interface and the client application interface further comprises at least one of direct draw hardware abstraction layer (HAL) and a direct draw three-dimensional HAL.
20. The server of claim 17, wherein the server application interface and the client application interface further comprise an Open GL interface.
21. The server of claim 16, wherein the server processing module further comprises:
plurality of virtual processors, wherein each of the virtual processors executes an individual application to produce individual application data and provides a corresponding application interface that provides the individual application data to the server encoder, wherein the server encoder encodes the individual application data from each of the virtual processors.
22. The server of claim 16 further comprises:
input decoder operably coupled to recapture input data from input packets received from at least one of the plurality of clients and to provide the input data to the server processing module, wherein the memory further comprises operational instructions that cause the server processing module to provide a display hardware abstraction layer (HAL) and direct X layer such that the executing of the application is altered in accordance with the input data.
23. The server of claim 22, wherein the server encoder further comprises at least one of:
Ethernet interface operably coupled to the network connection to receive the input packets; and
wireless receiver operably coupled to receive the input packets via the radio frequency transmission.
24. The server of claim 16, wherein the server encoder further comprises an motion picture expert group (MPEG) encoder that provides the application data as MPEG packets.
25. The server of claim 16, wherein the server encoder further comprises a drawing packet instruction encoder and router to provide encoded instruction packets regarding the application data to the plurality of clients.
26. The server of claim 1, wherein the server encoder further comprises at least one of:
Ethernet interface operably coupled to a network connection to provide packets of the encoded data to the plurality of clients; and
wireless transmitter operably coupled to provide the encoded data via a radio frequency transmission to the plurality of clients.
27. A client for use in a centralized application system, the client comprises:
a decoder operably coupled to determine whether encoded data addresses the client and, when the encoded data addresses the client, decode the encoded data to produce display data;
interface operable to provide to the display data to a monitor.
28. The client claim 27 further comprises:
input processor operably coupled to receive user inputs, to process the user inputs to produce input data, to encode the input data into input packets, and to provide the input packets to the server.
29. The client of claim 27 further comprises at least one of:
Ethernet interface operably coupled to a network connection to provide the input packets to a server; and
wireless transmitter operably coupled to provide the input packets via a radio frequency transmission to the server.
30. The client of claim 27, wherein the decoder further comprises at least one of: a motion picture expert group (MPEG) decoder and DVD player chip such that the client is capable of receiving application data as MPEG packets.
31. The client of claim 27, wherein the decoder further comprises:
packet decoder operably coupled to retrieve drawing instructions from encoded instruction packets; and
rendering engine operably coupled to produce the display data based on the retrieved drawing instructions.
32. The client of claim 27 further comprises at least one of:
Ethernet interface operably coupled to a network connection to receive packets of the encoded data from a server; and
wireless receiver operably coupled to receive the encoded data via a radio frequency transmission from the server.
33. A method for accessing an application in a centralized application system, the method comprises:
executing an application to produce application data;
providing an application interface for interfacing the application data for a targeted client of a plurality of clients to produce interface data;
encoding the interface data to produce encoded data;
providing the encoded data to the plurality of clients;
determining, by the targeted client, whether the encoded data is addressing the targeted client; and
when the encoded data is addressing the targeted client, decoding, by the targeted client, the encoded data to produce display data.
34. The method of claim 33, wherein the providing an application interface further comprises:
providing a server application interface that functions as a device independent interface for the application data; and
providing a client application interface that function as a device dependent interface for the application data.
35. The method of claim 33 further comprises:
executing a plurality of applications to produce a plurality of application data;
providing a plurality of application interfaces for interfacing the plurality of application data for the plurality of clients to produce a plurality of interface data; and
encoding the plurality of interface data to produce the encoded data.
36. The method of claim 33 further comprises:
receiving, by the client, user inputs;
processing the user inputs to produce input data;
encoding the input data into input packets; and
providing the input packets to a server.
37. The method of claim 36 further comprises:
decoding, by the sever, the input packets to recapture the input data;
providing, by the server, a display hardware abstraction layer (HAL) and direct X layer to interface the input data with the application; and
altering execution of the application in accordance with the input data.
38. The method of claim 33, wherein the application comprises at least one of: a game, a drawing application, a word processing application, a presentation application, a spreadsheet application, a web browser application, an email application, a time management application, and a database application.
39. A method for supporting access of an application in a centralized application system, the method comprises:
executing an application to produce application data;
providing an application interface for interfacing the application data for a targeted client of a plurality of clients to produce interface data;
encoding the interface data to produce encoded data; and
providing the encoded data to the plurality of clients.
40. The method of claim 39, wherein the providing an application interface further comprises:
providing a server application interface that functions as a device independent interface for the application data; and
providing a client application interface that function as a device dependent interface for the application data.
41. The method of claim 39 further comprises:
executing a plurality of applications to produce a plurality of application data;
providing a plurality of application interfaces for interfacing the plurality of application data for the plurality of clients to produce a plurality of interface data; and
encoding the plurality of interface data to produce the encoded data.
42. The method of claim 39 further comprises:
receiving input packets for the target client, wherein the target client processes user inputs to produce input data and encodes the input data to produce the input packets;
decoding the input packets to recapture the input data; providing a display hardware abstraction layer (HAL) and direct X layer to interface the input data with the application; and
altering execution of the application in accordance with the input data.
43. A method for a client of a plurality of clients to access an application in a centralized application system, the method comprises:
determining whether encoded data is addressing the client, wherein a server executes an application to produce application data, provides an application interface for interfacing the application data to produce interface data, and encodes the interface data to produce the encoded data; and
when the encoded data is addressing the targeted client, decoding the encoded data to produce display data.
44. The method of claim 43 further comprises:
receiving user inputs;
processing the user inputs to produce input data;
encoding the input data into input packets; and
providing the input packets to the server.
45. A digital storage medium for storing operational instructions that cause a processing module to access an application in a centralized application system, the digital storage medium comprises:
first storage section for storing operational instructions that cause the processing module to execute an application to produce application data;
second storage section for storing operational instructions that cause the processing module to provide an application interface for interfacing the application data for a targeted client of a plurality of clients to produce interface data;
third storage section for storing operational instructions that cause the processing module to encode the interface data to produce encoded data; and
fourth storage section for storing operational instructions that cause the processing module to provide the encoded data to the plurality of clients.
46. The digital storage medium of claim 45, wherein the second section for storing operational instructions that cause the processing module to provide an application interface further comprises operational instructions that cause the processing module to:
provide a server application interface that functions as a device independent interface for the application data; and
provide a client application interface that function as a device dependent interface for the application data.
47. The digital storage medium of claim 45 further comprises:
fifth storage section for storing operational instructions that cause the processing module to execute a plurality of applications to produce a plurality of application data;
sixth storage section for storing operational instructions that cause the processing module to provide a plurality of application interfaces for interfacing the plurality of application data for the plurality of clients to produce a plurality of interface data; and
seventh storage section for storing operational instructions that cause the processing module to encode the plurality of interface data to produce the encoded data.
48. The digital storage medium of claim 45 further comprises:
fifth storage section for storing operational instructions that cause the processing module to receive input packets for the target client, wherein the target client processes user inputs to produce input data and encodes the input data to produce the input packets;
sixth storage section for storing operational instructions that cause the processing module to decode the input packets to recapture the input data;
seventh storage section for storing operational instructions that cause the processing module to provide a display hardware abstraction layer (HAL) and direct X layer to interface the input data with the application; and
eighth storage section for storing operational instructions that cause the processing module to alter execution of the application in accordance with the input data.
49. A digital storage medium for storing operational instructions that cause a client to access an application in a centralized application system, the digital storage medium comprises:
first storage section for storing operational instructions that cause the processing module to determine whether encoded data is addressing the client, wherein a server executes an application to produce application data, provides an application interface for interfacing the application data to produce interface data, and encodes the interface data to produce the encoded data; and
second storage section for storing operational instructions that cause the processing module to, when the encoded data is addressing the targeted client, decode the encoded data to produce display data.
50. The digital storage medium of claim 49 further comprises:
third storage section for storing operational instructions that cause the processing module to receive user inputs;
fourth storage section for storing operational instructions that cause the processing module to process the user inputs to produce input data;
fifth storage section for storing operational instructions that cause the processing module to encode the input data into input packets; and
sixth storage section for storing operational instructions that cause the processing module to provide the input packets to the server.
US09/946,920 2001-05-24 2001-09-05 Method and apparatus for centralizing application access within a multimedia system Abandoned US20020178215A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/946,920 US20020178215A1 (en) 2001-05-24 2001-09-05 Method and apparatus for centralizing application access within a multimedia system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/864,524 US7099951B2 (en) 2001-05-24 2001-05-24 Method and apparatus for multimedia system
US09/946,920 US20020178215A1 (en) 2001-05-24 2001-09-05 Method and apparatus for centralizing application access within a multimedia system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/864,524 Continuation-In-Part US7099951B2 (en) 2001-05-24 2001-05-24 Method and apparatus for multimedia system

Publications (1)

Publication Number Publication Date
US20020178215A1 true US20020178215A1 (en) 2002-11-28

Family

ID=25343454

Family Applications (3)

Application Number Title Priority Date Filing Date
US09/864,524 Expired - Lifetime US7099951B2 (en) 2001-05-24 2001-05-24 Method and apparatus for multimedia system
US09/946,920 Abandoned US20020178215A1 (en) 2001-05-24 2001-09-05 Method and apparatus for centralizing application access within a multimedia system
US09/946,912 Expired - Lifetime US7836193B2 (en) 2001-05-24 2001-09-05 Method and apparatus for providing graphical overlays in a multimedia system

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/864,524 Expired - Lifetime US7099951B2 (en) 2001-05-24 2001-05-24 Method and apparatus for multimedia system

Family Applications After (1)

Application Number Title Priority Date Filing Date
US09/946,912 Expired - Lifetime US7836193B2 (en) 2001-05-24 2001-09-05 Method and apparatus for providing graphical overlays in a multimedia system

Country Status (2)

Country Link
US (3) US7099951B2 (en)
TW (1) TW580833B (en)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030152148A1 (en) * 2001-11-21 2003-08-14 Indra Laksono System and method for multiple channel video transcoding
US20030184548A1 (en) * 2002-03-29 2003-10-02 Emmot Darel N. System and method for passing messages among processing nodes in a distributed system
US20040087274A1 (en) * 2002-10-31 2004-05-06 Jan-Erik Ekberg Device detection and service discovery system and method for a mobile AD HOC communications network
US20050058109A1 (en) * 2003-09-16 2005-03-17 Jan-Erik Ekberg Mechanism for improving connection control in peer-to-peer ad-hoc networks
US20050058108A1 (en) * 2003-09-16 2005-03-17 Jan-Erik Ekberg Application control in peer-to-peer ad-hoc communication networks
US20050059379A1 (en) * 2003-09-16 2005-03-17 Sampo Sovio Method of initializing and using a security association for middleware based on physical proximity
US20050208892A1 (en) * 2004-03-17 2005-09-22 Nokia Corporation System and method for remote service information
US20050223116A1 (en) * 2004-03-31 2005-10-06 Pak-Lung Seto Data encoding and decoding in a data storage system
US20060178215A1 (en) * 2005-02-08 2006-08-10 Jaakko Lehikoinen System and method for provision of information
US20060195884A1 (en) * 2005-01-05 2006-08-31 Van Zoest Alexander Interactive multichannel data distribution system
US20060199533A1 (en) * 2005-03-01 2006-09-07 Martin Zilliacus Method and system for tactile confirmation of service bookmarks
US20060258338A1 (en) * 2005-05-10 2006-11-16 Outi Markki Content distribution & communication system for enhancing service distribution in short range radio environment
US20060256861A1 (en) * 2001-11-21 2006-11-16 Vixs Systems, Inc. Method and system for rate control during video transcoding
US20060268896A1 (en) * 2005-05-31 2006-11-30 Sakari Kotola System and method for services functionality
US20070118615A1 (en) * 2005-11-23 2007-05-24 Utilit Technologies, Inc. Information technology system with multiple item targeting
EP1839177A2 (en) * 2005-01-05 2007-10-03 Divx, Inc. System and method for a remote user interface
US7675972B1 (en) 2001-07-30 2010-03-09 Vixs Systems, Inc. System and method for multiple channel video transcoding
US20110106882A1 (en) * 2008-07-28 2011-05-05 Sony Corporation Client device, information processing system and associated methodology of accessing networked services
US8171461B1 (en) * 2006-02-24 2012-05-01 Nvidia Coporation Primitive program compilation for flat attributes with provoking vertex independence
US20160050445A1 (en) * 2014-08-15 2016-02-18 Fox Digital Enterprises, Inc. Data repository for sports and entertainment information
US9265458B2 (en) 2012-12-04 2016-02-23 Sync-Think, Inc. Application of smooth pursuit cognitive testing paradigms to clinical drug development
US9380976B2 (en) 2013-03-11 2016-07-05 Sync-Think, Inc. Optical neuroinformatics
CN105763899A (en) * 2016-01-29 2016-07-13 四川长虹电器股份有限公司 Intelligent set top box application management system and method

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6263503B1 (en) 1999-05-26 2001-07-17 Neal Margulis Method for effectively implementing a wireless television system
US7200855B2 (en) * 2001-05-24 2007-04-03 Vixs Systems, Inc. Method and apparatus of multiplexing a plurality of channels in a multimedia system
US20030074093A1 (en) * 2001-09-26 2003-04-17 Media & Entertainment.Com, Inc. Digital encoding and/or conversion
US7283504B1 (en) * 2001-10-24 2007-10-16 Bbn Technologies Corp. Radio with internal packet network
US20030220781A1 (en) * 2002-02-25 2003-11-27 Oak Technology, Inc. Communication architecture utilizing emulator interface
US9122808B2 (en) * 2002-02-25 2015-09-01 Csr Technology Inc. Network interface to a video device
KR100490401B1 (en) * 2002-03-26 2005-05-17 삼성전자주식회사 Apparatus and method for processing image in thin-client environment
US6741587B2 (en) * 2002-04-02 2004-05-25 Nokia Corporation Inter-frequency measurements with MIMO terminals
US20030222843A1 (en) * 2002-05-28 2003-12-04 Birmingham Blair B.A. Systems and methods for encoding control signals initiated from remote devices
SE526049C2 (en) * 2003-01-17 2005-06-21 Arash Rouhi Multimedia network system for home products e.g. computers, TV equipment, has application specific connector arrangements for connecting digital/analogous devices to number of receiving/transmitting terminals through identical interface
US8204353B2 (en) * 2002-11-27 2012-06-19 The Nielsen Company (Us), Llc Apparatus and methods for tracking and analyzing digital recording device event sequences
KR20050085288A (en) * 2002-12-04 2005-08-29 코닌클리케 필립스 일렉트로닉스 엔.브이. Method of considering content equivalency when rendering content
US20060031889A1 (en) * 2002-12-11 2006-02-09 Bennett James D Video processing system with simultaneous multiple outputs each with unique formats
US7623540B2 (en) * 2002-12-31 2009-11-24 Vixs Systems, Inc. Method and apparatus for channel allocation in a wireless local area network (WLAN)
DE60311317T2 (en) * 2003-01-06 2007-08-30 Koninklijke Philips Electronics N.V. APPLICATION SELECTION, INCLUDING MULTIPLE FACTORS
US7468735B2 (en) * 2003-07-24 2008-12-23 Sony Corporation Transitioning between two high resolution images in a slideshow
US7705859B2 (en) * 2003-12-03 2010-04-27 Sony Corporation Transitioning between two high resolution video sources
US9998802B2 (en) 2004-06-07 2018-06-12 Sling Media LLC Systems and methods for creating variable length clips from a media stream
US7975062B2 (en) 2004-06-07 2011-07-05 Sling Media, Inc. Capturing and sharing media content
US7769756B2 (en) 2004-06-07 2010-08-03 Sling Media, Inc. Selection and presentation of context-relevant supplemental content and advertising
BRPI0516744A2 (en) 2004-06-07 2013-05-28 Sling Media Inc Media stream playback methods received on a network and computer program product
AU2005269957B2 (en) * 2004-07-02 2011-09-22 The Nielsen Company (Us), Llc Methods and apparatus for identifying viewing information associated with a digital media device
WO2006015274A2 (en) * 2004-07-30 2006-02-09 Viseon, Inc. Ip video telephone having integrated devices
KR100602954B1 (en) * 2004-09-22 2006-07-24 주식회사 아이큐브 Media gateway
US7664872B2 (en) * 2005-01-05 2010-02-16 Divx, Inc. Media transfer protocol
WO2006082567A1 (en) * 2005-02-03 2006-08-10 Koninklijke Philips Electronics, N.V. Faster tuning using multiple tuners and networked monitors
US7689920B2 (en) * 2005-09-06 2010-03-30 Apple Inc. Parental control graphical user interface
US9130993B2 (en) * 2006-02-09 2015-09-08 Sony Corporation Wireless connection system and wireless connection method
US20080028087A1 (en) * 2006-07-28 2008-01-31 Vicotel, Inc. A client/server multimedia system and method
US8243731B2 (en) 2006-08-07 2012-08-14 Qualcomm Incorporated Apparatus and methods for code-enhanced messaging
US8943218B2 (en) * 2006-10-12 2015-01-27 Concurrent Computer Corporation Method and apparatus for a fault resilient collaborative media serving array
US8041292B2 (en) * 2006-12-04 2011-10-18 Ibiquity Digital Corporation Network radio receiver
US7860887B2 (en) 2007-02-20 2010-12-28 The Invention Science Fund I, Llc Cross-media storage coordination
US9008116B2 (en) * 2007-02-20 2015-04-14 The Invention Science Fund I, Llc Cross-media communication coordination
US8619822B2 (en) * 2007-03-26 2013-12-31 The Directv Group, Inc. Method and system for generating uplink signals from a ground segment
US8239913B2 (en) * 2007-03-26 2012-08-07 The Directv Group, Inc. Method and system for inserting digital video effects into a video stream in redundant paths before routing
US9055316B2 (en) * 2007-03-26 2015-06-09 The Directv Group, Inc. Method and system for inserting digital video effects into a video stream at a multiplexing device after routing
US20080239163A1 (en) * 2007-03-26 2008-10-02 The Directv Group, Inc. Method and system for inserting digital video effects into a video stream after bypass routing and before encoding
US20080244663A1 (en) * 2007-03-26 2008-10-02 The Directv Group, Inc. Method and system for inserting digital video effects into a video stream using a bypass router
US8379609B2 (en) * 2007-03-29 2013-02-19 Vixs Systems, Inc. Multimedia client/server system with adjustable data link rate and range and methods for use therewith
US7984177B2 (en) * 2007-04-30 2011-07-19 Vixs Systems, Inc. Multimedia client/server system with adjustable packet size and methods for use therewith
US7720986B2 (en) 2007-08-24 2010-05-18 At&T Intellectual Property I, L.P. Method and system for media adaption
US20090064314A1 (en) * 2007-08-31 2009-03-05 Lee Michael M Method and Apparatus for Implementing Parental Controls for a Portable Media Device
CN101641958B (en) * 2007-09-12 2011-10-19 索尼株式会社 Image processing device and image processing method
US20090094325A1 (en) * 2007-10-09 2009-04-09 Snehal Karia Acuro Universal Multimedia Communication System (AUMCS)
JP2009217433A (en) * 2008-03-10 2009-09-24 Fuji Xerox Co Ltd File management program and file management device
US8356323B2 (en) * 2008-04-15 2013-01-15 Cisco Technology, Inc. UPnP/DLNA compliant MR-DVR
WO2010064118A1 (en) 2008-12-01 2010-06-10 Imax Corporation Methods and systems for presenting three-dimensional motion pictures with content adaptive information
KR101610705B1 (en) 2008-12-10 2016-04-11 삼성전자주식회사 Terminal having camera and method for processing image thereof
US20100158098A1 (en) * 2008-12-22 2010-06-24 Echostar Technologies L.L.C. System and method for audio/video content transcoding
US9282337B2 (en) * 2009-02-27 2016-03-08 Vixs Systems, Inc. Media source device with digital format conversion and methods for use therewith
US8228980B2 (en) * 2009-05-29 2012-07-24 Texas Instruments Incorporated Media gateway with overlay channels
US9854254B2 (en) * 2009-08-04 2017-12-26 Avocent Corporation Method and system for remote viewing of static and video images
US9432442B2 (en) * 2009-10-02 2016-08-30 Ncomputing Inc. System and method for a graphics terminal multiplier
US20110125902A1 (en) * 2009-11-24 2011-05-26 Nokia Corporation Apparatus And A Method For Resource Management
US8897377B2 (en) * 2009-12-31 2014-11-25 Broadcom Corporation Transcoding multiple media elements for independent wireless delivery
US9223529B1 (en) 2010-03-26 2015-12-29 Open Invention Network, Llc Method and apparatus of processing information in an environment with multiple devices and limited resources
DE102010038838A1 (en) * 2010-08-03 2012-02-09 Sennheiser Electronic Gmbh & Co. Kg Audio and / or video transmission system
GB2486744A (en) * 2010-12-24 2012-06-27 Starbucks Hk Ltd Multimedia system with separately transmitted supplementary data overlaid onto broadcast video stream based on user input
US9172982B1 (en) * 2011-06-06 2015-10-27 Vuemix, Inc. Audio selection from a multi-video environment
US9077578B1 (en) * 2011-06-06 2015-07-07 Vuemix, Inc. Scalable real-time video compositing systems and methods
US9740377B1 (en) 2011-06-06 2017-08-22 Vuemix, Inc. Auxiliary information data exchange within a video environment
US9088818B2 (en) * 2011-06-21 2015-07-21 Harman International Industries, Incorporated Adaptive media delay matching
US9281013B2 (en) 2011-11-22 2016-03-08 Cyberlink Corp. Systems and methods for transmission of media content
EP2815582B1 (en) 2012-01-09 2019-09-04 ActiveVideo Networks, Inc. Rendering of an interactive lean-backward user interface on a television
US8325821B1 (en) 2012-02-08 2012-12-04 Vyumix, Inc. Video transcoder stream multiplexing systems and methods
US9800945B2 (en) 2012-04-03 2017-10-24 Activevideo Networks, Inc. Class-based intelligent multiplexing over unmanaged networks
KR101943456B1 (en) * 2012-04-30 2019-01-29 주식회사 케이티 Transcoding Server and Method for Overlaying Added Information to Dynamic Image in Transcoding Server
US8752113B1 (en) * 2013-03-15 2014-06-10 Wowza Media Systems, LLC Insertion of graphic overlays into a stream
WO2014145921A1 (en) 2013-03-15 2014-09-18 Activevideo Networks, Inc. A multiple-mode system and method for providing user selectable video content
EP3005712A1 (en) * 2013-06-06 2016-04-13 ActiveVideo Networks, Inc. Overlay rendering of user interface onto source video
US20150031289A1 (en) * 2013-07-26 2015-01-29 Rajiv Agarwal Autonomous discovery and control of devices via an overlay communication channel
US9854258B2 (en) * 2014-01-06 2017-12-26 Disney Enterprises, Inc. Video quality through compression-aware graphics layout
US9788029B2 (en) 2014-04-25 2017-10-10 Activevideo Networks, Inc. Intelligent multiplexing using class-based, multi-dimensioned decision logic for managed networks
CN104202675A (en) * 2014-09-03 2014-12-10 乐视致新电子科技(天津)有限公司 Intelligent terminal and quick channel switching method and device thereof
US10432988B2 (en) * 2016-04-15 2019-10-01 Ati Technologies Ulc Low latency wireless virtual reality systems and methods
US11774944B2 (en) 2016-05-09 2023-10-03 Strong Force Iot Portfolio 2016, Llc Methods and systems for the industrial internet of things
US11009865B2 (en) 2016-05-09 2021-05-18 Strong Force Iot Portfolio 2016, Llc Methods and systems for a noise pattern data marketplace in an industrial internet of things environment
US11327475B2 (en) 2016-05-09 2022-05-10 Strong Force Iot Portfolio 2016, Llc Methods and systems for intelligent collection and analysis of vehicle data
US11237546B2 (en) 2016-06-15 2022-02-01 Strong Force loT Portfolio 2016, LLC Method and system of modifying a data collection trajectory for vehicles
US11131989B2 (en) 2017-08-02 2021-09-28 Strong Force Iot Portfolio 2016, Llc Systems and methods for data collection including pattern recognition
CA3072045A1 (en) 2017-08-02 2019-02-07 Strong Force Iot Portfolio 2016, Llc Methods and systems for detection in an industrial internet of things data collection environment with large data sets
US11102549B2 (en) 2017-09-27 2021-08-24 Wurl Inc. Selective video overlay
US10609427B2 (en) 2017-10-25 2020-03-31 Wurl Inc. Graphic overlay insertion
US10867601B2 (en) * 2018-01-17 2020-12-15 Citrix Systems, Inc. In-band voice-assistant/concierge for controlling online meetings
US11528601B1 (en) 2021-06-09 2022-12-13 T-Mobile Usa, Inc. Determining and ameliorating wireless telecommunication network functionalities that are impaired when using end-to-end encryption
US11418851B1 (en) * 2021-06-28 2022-08-16 Synamedia Limited Virtual set top

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5757925A (en) * 1996-07-23 1998-05-26 Faybishenko; Yaroslav Secure platform independent cross-platform remote execution computer system and method
US5790792A (en) * 1996-09-04 1998-08-04 Radiant Systems, Inc. Method and apparatus for transmitting multimedia data from and application logic server to interactive multimedia workstations
US6044408A (en) * 1996-04-25 2000-03-28 Microsoft Corporation Multimedia device interface for retrieving and exploiting software and hardware capabilities
US6055560A (en) * 1996-11-08 2000-04-25 International Business Machines Corporation System and method to provide interactivity for a networked video server
US20020032751A1 (en) * 2000-05-23 2002-03-14 Srinivas Bharadwaj Remote displays in mobile communication networks
US20020059368A1 (en) * 2000-01-07 2002-05-16 Soneticom, Inc. Wireless remote computer interface system
US20020105845A1 (en) * 1999-08-05 2002-08-08 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device with reduced current consumption in data hold mode
US20020174181A1 (en) * 2001-04-13 2002-11-21 Songxiang Wei Sharing OpenGL applications using application based screen sampling
US6618752B1 (en) * 2000-04-18 2003-09-09 International Business Machines Corporation Software and method for multicasting on a network
US6631418B1 (en) * 2000-04-05 2003-10-07 Lsi Logic Corporation Server for operation with a low-cost multimedia terminal

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2979596B2 (en) * 1990-07-27 1999-11-15 ソニー株式会社 Display device
US20020129374A1 (en) * 1991-11-25 2002-09-12 Michael J. Freeman Compressed digital-data seamless video switching system
US5537141A (en) * 1994-04-15 1996-07-16 Actv, Inc. Distance learning system providing individual television participation, audio responses and memory for every student
US5818511A (en) * 1994-05-27 1998-10-06 Bell Atlantic Full service network
US5654774A (en) * 1995-06-06 1997-08-05 Thomson Consumer Electronics, Inc. Tuner for digital satellite receiver
US5751282A (en) * 1995-06-13 1998-05-12 Microsoft Corporation System and method for calling video on demand using an electronic programming guide
JP3572595B2 (en) * 1995-07-21 2004-10-06 ソニー株式会社 Electronic program guide display control apparatus and method
US5745846A (en) * 1995-08-07 1998-04-28 Lucent Technologies, Inc. Channelized apparatus for equalizing carrier powers of multicarrier signal
US6058307A (en) * 1995-11-30 2000-05-02 Amsc Subsidiary Corporation Priority and preemption service system for satellite related communication using central controller
JPH09205630A (en) * 1996-01-26 1997-08-05 Matsushita Electric Ind Co Ltd Television signal transmission reception method and television signal transmitter receiver
KR100206786B1 (en) * 1996-06-22 1999-07-01 구자홍 Multi-audio processing device for a dvd player
US6133910A (en) * 1996-09-20 2000-10-17 Echostar Engineering Corp. Apparatus and method for integrating a plurality of video sources
EP0945017A1 (en) * 1996-12-12 1999-09-29 Conexant Systems, Inc. Digital video converter box for subscriber/home with multiple television sets
US6157673A (en) * 1996-12-26 2000-12-05 Philips Electronics North America Corp. Fast extraction of program specific information from multiple transport streams
US5970386A (en) * 1997-01-27 1999-10-19 Hughes Electronics Corporation Transmodulated broadcast delivery system for use in multiple dwelling units
US5905942A (en) * 1997-02-18 1999-05-18 Lodgenet Entertainment Corporation Multiple dwelling unit interactive audio/video distribution system
US6611537B1 (en) * 1997-05-30 2003-08-26 Centillium Communications, Inc. Synchronous network for digital media streams
US6023731A (en) * 1997-07-30 2000-02-08 Sun Microsystems, Inc. Method and apparatus for communicating program selections on a multiple channel digital media server having analog output
WO1999012293A1 (en) * 1997-08-28 1999-03-11 Sony Corporation Transmitter for multichannel digital data and transmission method
US6310886B1 (en) * 1997-08-28 2001-10-30 Tivo, Inc. Method and apparatus implementing a multimedia digital network
US5928331A (en) * 1997-10-30 1999-07-27 Matsushita Electric Industrial Co., Ltd. Distributed internet protocol-based real-time multimedia streaming architecture
US6205582B1 (en) * 1997-12-09 2001-03-20 Ictv, Inc. Interactive cable television system with frame server
US6178446B1 (en) * 1997-12-31 2001-01-23 At&T Corp Method and system for supporting interactive commercials displayed on a display device using a telephone network
US7091968B1 (en) * 1998-07-23 2006-08-15 Sedna Patent Services, Llc Method and apparatus for encoding a user interface
US6567981B1 (en) * 1998-08-03 2003-05-20 Elysium Broadband Inc. Audio/video signal redistribution system
US6757906B1 (en) * 1999-03-30 2004-06-29 Tivo, Inc. Television viewer interface system
US7096487B1 (en) * 1999-10-27 2006-08-22 Sedna Patent Services, Llc Apparatus and method for combining realtime and non-realtime encoded content
US20020078463A1 (en) * 2000-06-08 2002-06-20 Foster Mark J. Method and processor engine architecture for the delivery of dynamically compressed audio video content over a broadband network
US7660902B2 (en) * 2000-11-20 2010-02-09 Rsa Security, Inc. Dynamic file access control and management
US6630963B1 (en) * 2001-01-23 2003-10-07 Digeo, Inc. Synchronizing a video program from a television broadcast with a secondary audio program
US7200855B2 (en) * 2001-05-24 2007-04-03 Vixs Systems, Inc. Method and apparatus of multiplexing a plurality of channels in a multimedia system

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6044408A (en) * 1996-04-25 2000-03-28 Microsoft Corporation Multimedia device interface for retrieving and exploiting software and hardware capabilities
US5757925A (en) * 1996-07-23 1998-05-26 Faybishenko; Yaroslav Secure platform independent cross-platform remote execution computer system and method
US5790792A (en) * 1996-09-04 1998-08-04 Radiant Systems, Inc. Method and apparatus for transmitting multimedia data from and application logic server to interactive multimedia workstations
US6055560A (en) * 1996-11-08 2000-04-25 International Business Machines Corporation System and method to provide interactivity for a networked video server
US20020105845A1 (en) * 1999-08-05 2002-08-08 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device with reduced current consumption in data hold mode
US20020059368A1 (en) * 2000-01-07 2002-05-16 Soneticom, Inc. Wireless remote computer interface system
US6631418B1 (en) * 2000-04-05 2003-10-07 Lsi Logic Corporation Server for operation with a low-cost multimedia terminal
US6618752B1 (en) * 2000-04-18 2003-09-09 International Business Machines Corporation Software and method for multicasting on a network
US20020032751A1 (en) * 2000-05-23 2002-03-14 Srinivas Bharadwaj Remote displays in mobile communication networks
US20020174181A1 (en) * 2001-04-13 2002-11-21 Songxiang Wei Sharing OpenGL applications using application based screen sampling

Cited By (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7675972B1 (en) 2001-07-30 2010-03-09 Vixs Systems, Inc. System and method for multiple channel video transcoding
US20030152148A1 (en) * 2001-11-21 2003-08-14 Indra Laksono System and method for multiple channel video transcoding
US20060256861A1 (en) * 2001-11-21 2006-11-16 Vixs Systems, Inc. Method and system for rate control during video transcoding
US9036698B2 (en) 2001-11-21 2015-05-19 Vixs Systems Inc. Method and system for rate control during video transcoding
US10129552B2 (en) 2001-11-21 2018-11-13 Vixs Systems Inc. Method and system for rate control during video transcoding
US6873331B2 (en) * 2002-03-29 2005-03-29 Hewlett-Packard Development Company, L.P. System and method for passing messages among processing nodes in a distributed system
US20030184548A1 (en) * 2002-03-29 2003-10-02 Emmot Darel N. System and method for passing messages among processing nodes in a distributed system
US6909721B2 (en) 2002-10-31 2005-06-21 Nokia Corporation Device detection and service discovery system and method for a mobile ad hoc communications network
US7492777B2 (en) 2002-10-31 2009-02-17 Nokia Corporation Device detection and service discovery system and method for a mobile ad hoc communications network
US20040085947A1 (en) * 2002-10-31 2004-05-06 Jan-Erik Ekberg Device detection and service discovery system and method for a mobile ad hoc communications network
US20040087274A1 (en) * 2002-10-31 2004-05-06 Jan-Erik Ekberg Device detection and service discovery system and method for a mobile AD HOC communications network
US20050059379A1 (en) * 2003-09-16 2005-03-17 Sampo Sovio Method of initializing and using a security association for middleware based on physical proximity
US20050058108A1 (en) * 2003-09-16 2005-03-17 Jan-Erik Ekberg Application control in peer-to-peer ad-hoc communication networks
US20050058109A1 (en) * 2003-09-16 2005-03-17 Jan-Erik Ekberg Mechanism for improving connection control in peer-to-peer ad-hoc networks
US7313120B2 (en) 2003-09-16 2007-12-25 Nokia Corporation Application control in peer-to-peer ad-hoc communication networks
US7263345B2 (en) 2004-03-17 2007-08-28 Nokia Corporation System and method for remote service information
US20050208892A1 (en) * 2004-03-17 2005-09-22 Nokia Corporation System and method for remote service information
US20050223116A1 (en) * 2004-03-31 2005-10-06 Pak-Lung Seto Data encoding and decoding in a data storage system
US7412540B2 (en) * 2004-03-31 2008-08-12 Intel Corporation Data encoding and decoding in a data storage system
EP1839177A2 (en) * 2005-01-05 2007-10-03 Divx, Inc. System and method for a remote user interface
US20060195884A1 (en) * 2005-01-05 2006-08-31 Van Zoest Alexander Interactive multichannel data distribution system
EP1839177A4 (en) * 2005-01-05 2010-07-07 Divx Inc System and method for a remote user interface
US20060178214A1 (en) * 2005-02-08 2006-08-10 Jaakko Lehikoinen System and method for provision of proximity networking activity information
US20100198957A1 (en) * 2005-02-08 2010-08-05 Nokia Corporation System and method for provision of proximity networking activity information
US20060178215A1 (en) * 2005-02-08 2006-08-10 Jaakko Lehikoinen System and method for provision of information
US20060199533A1 (en) * 2005-03-01 2006-09-07 Martin Zilliacus Method and system for tactile confirmation of service bookmarks
US7697894B2 (en) 2005-03-01 2010-04-13 Nokia Corporation Method and system for tactile confirmation of service bookmarks
US7359674B2 (en) 2005-05-10 2008-04-15 Nokia Corporation Content distribution & communication system for enhancing service distribution in short range radio environment
US20060258338A1 (en) * 2005-05-10 2006-11-16 Outi Markki Content distribution & communication system for enhancing service distribution in short range radio environment
US20060268896A1 (en) * 2005-05-31 2006-11-30 Sakari Kotola System and method for services functionality
US20070118615A1 (en) * 2005-11-23 2007-05-24 Utilit Technologies, Inc. Information technology system with multiple item targeting
US8171461B1 (en) * 2006-02-24 2012-05-01 Nvidia Coporation Primitive program compilation for flat attributes with provoking vertex independence
US8886717B2 (en) 2008-07-28 2014-11-11 Sony Corporation Client device, information processing system and associated methodology of accessing networked services
US8682963B2 (en) * 2008-07-28 2014-03-25 Sony Corporation Client device, information processing system and associated methodology of accessing networked services
US9112868B2 (en) 2008-07-28 2015-08-18 Sony Corporation Client device, information processing system and associated methodology of accessing networked services
US20110106882A1 (en) * 2008-07-28 2011-05-05 Sony Corporation Client device, information processing system and associated methodology of accessing networked services
US9265458B2 (en) 2012-12-04 2016-02-23 Sync-Think, Inc. Application of smooth pursuit cognitive testing paradigms to clinical drug development
US9380976B2 (en) 2013-03-11 2016-07-05 Sync-Think, Inc. Optical neuroinformatics
US20160050445A1 (en) * 2014-08-15 2016-02-18 Fox Digital Enterprises, Inc. Data repository for sports and entertainment information
US11595702B2 (en) * 2014-08-15 2023-02-28 Tfcf Digital Enterprises, Inc. Data repository for sports and entertainment information
CN105763899A (en) * 2016-01-29 2016-07-13 四川长虹电器股份有限公司 Intelligent set top box application management system and method

Also Published As

Publication number Publication date
US20020178278A1 (en) 2002-11-28
US7836193B2 (en) 2010-11-16
TW580833B (en) 2004-03-21
US7099951B2 (en) 2006-08-29
US20020178277A1 (en) 2002-11-28

Similar Documents

Publication Publication Date Title
US20020178215A1 (en) Method and apparatus for centralizing application access within a multimedia system
US11627108B2 (en) Network address resolution
US10623795B2 (en) Systems and methods for advertising continuity
US7529806B1 (en) Partitioning of MP3 content file for emulating streaming
JP4165668B2 (en) Method and apparatus for compressing continuous, non-separated data streams
US6938047B2 (en) Methods, data structures, and systems for processing media data streams
CN1201541C (en) Partitioning of file for emulating streaming
US6185625B1 (en) Scaling proxy server sending to the client a graphical user interface for establishing object encoding preferences after receiving the client's request for the object
US9485305B2 (en) API platform that includes server-executed client-based code
US7308649B2 (en) Providing scalable, alternative component-level views
US11128903B2 (en) Systems and methods of orchestrated networked application services
US9166882B1 (en) Remote browsing session management
US20010003823A1 (en) Method for downloading a web page to a client for efficient display on a television screen
EP0961490A2 (en) Internet convolution audio/video server
US20060085829A1 (en) Broadcast content delivery systems and methods
US20040024900A1 (en) Method and system for enhancing streaming operation in a distributed communication system
US20090099911A1 (en) Systems and Methods for Managing Advertising Content Corresponding to Streaming Media Content
US20020073218A1 (en) Stream device management system for multimedia clients in a broadcast network architecture
CN105793841A (en) Client behavior control in adaptive streaming file
US8615431B1 (en) Network content message placement management
CN114788296A (en) Coordinated control for display media
US11784887B1 (en) Bandwidth throttling
WO2020155957A1 (en) Method and apparatus for playing audio/video, and computer device and readable storage medium
KR20050065087A (en) Apparatus for managing streamer process for media streaming and method thereof
RU2575679C2 (en) Entropy coder for image compression

Legal Events

Date Code Title Description
AS Assignment

Owner name: VIXS, INC., ONTARIO

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LAKSONO, INDRA;SALEEM, SHAHID;REEL/FRAME:012161/0424

Effective date: 20010824

AS Assignment

Owner name: VIXS SYSTEMS, INC., ONTARIO

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE CHANGE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 012161 FRAME 0424;ASSIGNORS:LAKSONO, INDRA;SALEEM, SHAHID;REEL/FRAME:018815/0329

Effective date: 20010824

AS Assignment

Owner name: COMERICA BANK, CANADA

Free format text: SECURITY AGREEMENT;ASSIGNOR:VIXS SYSTEMS INC.;REEL/FRAME:022240/0446

Effective date: 20081114

Owner name: COMERICA BANK,CANADA

Free format text: SECURITY AGREEMENT;ASSIGNOR:VIXS SYSTEMS INC.;REEL/FRAME:022240/0446

Effective date: 20081114

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION