![]() A stream device management system for multimedia clients in broadcast network architecture
专利摘要:
Stream device management systems are provided to support applications that access various stream devices associated with conventional set top boxes. More specifically, the stream device management system includes a stream manager configured to identify a plurality of stream devices and to store a device identifier for each of these stream devices and a shared memory for storing stream data associated with each stream device. . In order to initiate communication with the first stream device, the first application sends a device identifier pointing to the first stream device to the stream manager. In response to receiving the device identifier, the stream manager conveys an address for the shared memory associated with the first stream device to the first application. Finally, the application uses this address to access the stream data. 公开号:KR20010086148A 申请号:KR1020017008028 申请日:1999-12-17 公开日:2001-09-08 发明作者:빌 제이. 아스프로몬테;알탄 제이. 스토커 申请人:파워티브이, 인코포레이티드; IPC主号:
专利说明:
A stream device management system for multimedia clients in a broadcast network architecture {{A STREAM DEVICE MANAGEMENT SYSTEM FOR MULTIMEDIA CLIENTS IN BROADCAST NETWORK ARCHITECTURE} [2] The Federal Communications Commission (FCC) has announced a new set of TV broadcast standards that implement digital television (DTV). Digital TV is expected to eventually replace the current NTSC standard in homes throughout the country and around the world. Digital TV offers many advantages over the conventional NTSC standard, including high definition pictures, greatly improved user interactivity, support for Internet email resources, and the like. [3] The new digital TV standard is expected to accelerate the convergence of computer and TV technologies, bringing tremendous ripple effects. In addition, one day personal computers will function as family entertainment multimedia systems, and TVs will function as nodes on various computer networks, from home automation networks to the Internet. There may be many different physical packages for applying digital TV technology, but the most popular is the set top box at present. [4] In the early days, set-top boxes were primarily used as tuners and de-scramblers for cable TV. More recently, companies such as Scientific Atlanta have developed much higher performance set-top boxes. Interactive digital set-top boxes provide an open platform for developing interactive services and multimedia content and delivering them to consumers over the broadcast network. To provide the capabilities of a personal computer, these high performance set top boxes incorporate a complete computer operating system. Requirements such as high data throughput management, efficient memory management in constrained consumer devices, and support of a secure environment allow for designing innovative operating systems for use in set-top boxes. [5] In a set-top box environment, an operating system typically consists of interconnected layers of software modules designed to minimize redundancy and optimize multimedia processing. For example, each hardware device associated with a set top box is abstracted and contained within a software device module. These software device modules are responsible for media delivery and manipulation of specific hardware devices (eg, RAM, serial ports, SCSI hard drives, etc.) associated with the set top box. Thus, the operating system is preferably designed to allow for smooth and efficient porting between different platforms. As such, the operating system provides a device management system that acts as an interface between these software device modules and the applications belonging to the set top box. [6] In addition, set-top boxes provide a new area to install computer operating systems. The memory resources of a set-top box are very limited. Applications supported by the operating system must use memory very efficiently. Thus, it is also desirable for this device management system to provide an efficient means for applications to use a generally small memory footprint associated with a set top box. [1] The present invention relates generally to an operating system for a multimedia client, and more particularly to a stream device management system for supporting applications that interact with multiple stream devices through a stream manager in a network architecture. will be. [8] 1 is a block diagram illustrating basic software components for an operating system in accordance with the present invention. [9] 2 is a block diagram showing a preferred embodiment of the stream device management system of the present invention. [10] 3 is a flowchart showing how to initialize a stream device data structure associated with the stream manager of the present invention. [11] 4 is a flowchart showing how to initiate communication between an application and a stream device using the stream manager of the present invention. [12] 5 is a block diagram illustrating a conventional read operation between an application and a stream device. [13] 6 is a block diagram illustrating an AllocRead operation between an application and a stream device according to the present invention. [7] According to the present disclosure, a stream device management system is provided for supporting applications accessing various stream devices associated with a conventional set top box. More specifically, the stream device management system includes a stream manager configured to identify a plurality of stream devices and to store a device identifier for each of these stream devices, and to store stream data associated with each stream device. Contains shared memory. To initiate communication with the first stream device, the first application sends a device identifier pointing to the first stream device to the stream manager. In response to receiving this device identifier, the stream manager sends the address of the shared memory associated with the first stream device to the first application. Finally, the application uses this address to access the stream data. [14] The following description of the invention is merely illustrative in nature and is not intended to limit the invention or its use. Furthermore, the following description also describes an operating system designed to fit into a conventional set top box, which is intended for those skilled in the art for various consumer multimedia clients, including but not limited to intelligent TVs, Internet terminals, and advanced DVD players. To teach you how to build and use an operating system. [15] 1 illustrates the basic software components of an operating system 10 in accordance with the present invention. The multitasking operating system 10 is designed to address the high performance needs of media-centric real-time applications delivered via set top boxes. The operating system provides an open and scalable platform for developing multimedia content and delivering it to customers over broadcast or client / server networks. The software architecture for the operating system 10 consists of layers of interconnected modules designed to minimize redundancy and optimize multimedia processing in an interactive network setup. Layers of this architecture include a hardware abstraction layer 12, a core layer 14, an application support layer 16, and an application layer 18. [16] Each hardware device associated with the multimedia client is abstracted and contained within a software device module belonging to the hardware abstraction layer 12. Each of these device modules is responsible for media delivery and manipulation between the hardware device and the remainder of the operating system. Well-defined application program interfaces (APIs) supported by each device module mask the idiosyncrasies of various hardware implementations by removing the hardware dependencies of each device from portable operating system facilities. ) [17] Kernels and memory managers belonging to the core layer 14 provide basic functions necessary to support an application. The complete preemtive, multithreaded, and multitasking kernel is designed to optimize both set-top memory footprint and processing speed. Because operating systems are part of consumer products, they are designed to exist in ROM-based systems with very small footprints (eg, 1MB). In addition, the kernel is also designed to use a 32-bit Reduced Instruction Set Computer (RISC) processor that enables the fast transfer, manipulation and display of complex media types. On the other hand, the memory manager provides an efficient allocation scheme for the best performance from limited memory resources. Since embedded processors often form the basis of consumer digital hardware implementations, the memory model requires little memory management unit support. Core layer 14 also provides a standard set of integrated event systems and ANSI C utility functions. [18] The application support layer 16 is provided on the upper layer of the core layer 14. This set of support modules provides high level processing functions and application services. Application management, session management, and tuner management are some examples of these services. At the highest application level 18, at least one application, called a resident application, always resides in the set top box. Application level 18 also provides the necessary capabilities for authoring the application and managing resources (eg, tuners) between this resident application and other background applications belonging to the set top box. [19] Device management systems within the scope of the application support layer 16 provide a consistent interface to the various stream devices supported by a typical set top box. More specifically, the stream manager 30 facilitates communication between the application 32 and the stream device 34 shown in FIG. For purposes of the description below, the term "application" refers to any software module including an operating system that may reside in a set-top box, and the term "stream" generally refers to a byte- which may be accessed via the stream device 34. Refers to byte-oriented data (eg, information in RAM or a file in an HTTP server). Each stream device 34 has its own characteristics, but the means of accessing these stream devices are similar. Accordingly, stream manager 30 provides a standard set of APIs (eg, read from stream, write to stream, etc.) to interact with each type of stream device 34 of stream device 34. As such, the stream manager 30 includes a memory, (SCSI) hard drive, serial port, and file transfer program (FTP), hypertext transfer program (HTTP), MPEG transport stream, and broadcast file system (BFS). Some types of stream devices can be supported, including, but not limited to: In addition, the stream data structure 36 accessible by the stream manager 30 is used to maintain a list of valid stream devices associated with a particular multimedia client. [20] As mentioned above, the operating system 10 consists of a number of modules, including a software abstraction module for each stream device. As shown in FIG. 3, during boot up of the operating system, each of the stream device modules is dynamically recognized and read into the stream data structure. First, at block 42 the loader module retrieves and examines all modules related to the operating system. To examine each module, block 46 parses an information string that contains data about each module. If the decision block 48 detects a module corresponding to the stream device (i.e., group ID = " stream "), then the decision block 48 proceeds with the initialization of the stream data structure; 42). Once all the modules have been retrieved, the process ends at exit block 44. [21] For each stream device module, block 50 determines the device type identifier (eg, "ftp", "memmory", "bfs", etc.) by parsing the remainder of the information string. The mapping between the device type id and the software device module containing the code for the stream device is maintained in the stream data structure. However, before block 54 stores this mapping in the stream data structure, block 52 executes an initialization method for that stream device. This process continues until the loader module completes the evaluation of each module. [22] In this regard, the stream manager 30 operates to initiate communication between the application 32 and the stream device 34. Referring to FIG. 4, the stream manager 30 supports an open API that allows applications to access the stream device. Opening the stream at block 62, the requesting application provides the input parameters to the stream manager. Rather than using a data structure, this input parameter is a text-based ASCII string in the form of a conventional URL (eg, serial 0: /// bps = 19200; data = 7; parity = 0; stop = 2). Since text-based messages are used to open the stream, changes in parameters or addition of new device types to various device types are easily supported by the stream manager 30. The URL consists of a scheme part and a scheme specific part. In the present invention, the scheme portion is mapped to the device type (eg, serial 0: ///), while the scheme specific portion is mapped to other device specific information. As such, the device type identifier is a standard scheme. By using a URL based approach, the present invention can support any Internet based protocol without making significant changes to the architecture. [23] Block 64 then parses the input parameters for determining the device type id provided by the requesting application. Using the device type id, decision block 66 retrieves the stream data structure for the corresponding stream device module. For known device types, block 68 retrieves the module id from the stream data structure, while for unknown device types, processing branches to a diagnostic or error routine. Using this search module id (and remaining device specific access information), stream manager 30 can access the requested stream device. The OPEN API supported by each stream device is called at block 72. Note that each standard API (eg, OPEN, WRITE, READ, etc.) supported by the stream devices has a known offset within the stream device module. As such, the stream manager only needs the module id to access the stream device for the first time. [24] However, because the stream device generally supports multiple streams and an application can access one or more streams on the same or different stream devices, the stream manager 30 is also accessing in relation to the stream device. Means are also needed for identifying a particular stream. Thus, in response to each open request, a unique stream instance id is generated by the requested stream device and then sent back to the stream manager 30. As such, the device module id uniquely identifies each stream in combination with the stream instance id (called the stream id). [25] Finally, stream manager 30 returns the stream id to the application at block 74. For all future accesses to the open stream, the application will use the stream id when calling the stream manager. Rather than performing the mapping process described above, stream manager 30 will also use the stream id to directly access the open stream and its corresponding stream device. [26] Once the application has established communication with the stream device, it can perform various data access operations. 5 illustrates the processing steps associated with a generic READ function. When prompted by a request from an application, the operating system allocates an application buffer space 82 to shared memory 80 for each read request that application 32 makes. When the application performs a read operation, the stream device 34 copies the requested information from its device buffer space 84 to the previously allocated application buffer space 82 and then the application buffer space 82. The address (i.e. pointer) for is sent back to the application 32 making the request via the operating system. Using this address, application 32 can access data in application buffer space 82. This approach is followed regardless of the type of information being requested from the device. [27] In addition to this conventional READ method, the stream manager 30 of the present invention also provides a more efficient means for accessing stream data from the stream device. An AllocReadOnly function is provided by the stream manager 30 as described in FIG. Rather than using the standard READ API, the application 32 can also call the AllocReadOnly API if the AllocReadOnly API is sufficient to accommodate read-only access to the stream data. In response, the stream manager 30 interacts with the appropriate stream device 34 to provide the application that made the request for the address (eg, handle or pointer) for the requested stream data. To do this, the AllocReadOnly API returns a handle to the internal buffer 84 of the stream device. In some cases, this internal buffer may be created from direct memory access. [28] Because the stream data is only read by the application and not manipulated (for example, font information), it is not necessary to make additional copies of the stream data in memory. As such, the AllocReadOnly operation eliminates additional copy steps associated with the normal READ operation, thereby reducing memory allocation within the set top box. Using the returned address, the requesting application 32 can read stream data directly from the device's buffer space in shared memory. After processing for the data, the application 32 is responsible for freeing the memory area. An additional feature of the ReadAllocOnly function is that it allows the stream device to satisfy multiple requests for the same data. In contrast to each of the multiple applications having the same copy of data, multiple making applications receive the same address and thus read the same data. Therefore, it is good practice to design the application so that read-only access is acceptable. [29] Only exemplary embodiments of the present invention have been described above and described below. Those skilled in the art will readily appreciate from this description, the accompanying drawings, and the claims that various changes, modifications and variations can be made in these disclosures without departing from the spirit and scope of the invention.
权利要求:
Claims (9) [1" claim-type="Currently amended] A device management system for supporting applications that reside on a multimedia client and interact with a plurality of stream devices associated with the multimedia client, A stream manager configured to identify the plurality of stream devices and to store a device identifier for each of the stream devices; And A first application operative to initiate communication between a first stream device and itself by sending a device identifier to the stream manager, the device identifier pointing to the first stream device; Including, And wherein said stream manager is operable to stream data between said first application and said first stream device in response to receiving a device identifier from said first application. [2" claim-type="Currently amended] The method of claim 1, And the device identifier comprises a device type identifier and device access information for the first stream device. [3" claim-type="Currently amended] The method of claim 1, And the device identifier is a Uniform Resource Locator (URL). [4" claim-type="Currently amended] The method of claim 1, Further comprising a shared memory accessible by the first application and the first stream device for storing stream data, The stream manager is operative to communicate an address for the shared memory to the first application, wherein the first application reads the stream data using the address. [5" claim-type="Currently amended] The method of claim 4, wherein The stream manager is operative to convey the address for the shared memory to a second application, wherein the second application reads the stream data using the address. [6" claim-type="Currently amended] A method of accessing stream data from a stream device by an application resident on a multimedia client. Configuring a stream manager to identify a plurality of stream devices associated with the multimedia client and to store a device identifier for each of the stream devices; Requesting access to a first stream device by a first application resident on the multimedia client, the first application sending a first device identifier pointing to the first stream device to the stream manager; In response to receiving the first device identifier from the first application, determining, by the stream manager, an address for stream data associated with the first stream device, wherein the stream data is in shared memory on the multimedia client. Saved-; Passing the address from the stream manager to the first application; And Accessing the stream data by the first application using the address Stream data access method comprising a. [7" claim-type="Currently amended] The method of claim 6, Requesting access to the first stream device further comprises using the device type identifier and device access information for the first stream device as the first device identifier. [8" claim-type="Currently amended] The method of claim 6, Configuring the stream manager further comprises using a Uniform Resource Locator (URL) as the device identifier. [9" claim-type="Currently amended] The method of claim 6, Passing the address for the shared memory to a second application; Accessing the stream data by the second application using the address Stream data access method further comprises.
类似技术:
公开号 | 公开日 | 专利标题 US9473827B2|2016-10-18|Apparatus and methods for implementation of network software interfaces CN104995865B|2018-06-08|Service based on sound and/or face recognition provides CN101969391B|2012-08-01|Cloud platform supporting fusion network service and operating method thereof US7634772B2|2009-12-15|Automatic software downloading from a computer network US5828840A|1998-10-27|Server for starting client application on client if client is network terminal and initiating client application on server if client is non network terminal US7844972B2|2010-11-30|Resource manager architecture utilizing a policy manager US6023721A|2000-02-08|Method and system for allowing a single-user application executing in a multi-user environment to create objects having both user-global and system global visibility ES2340976T3|2010-06-11|Apparatus and method for network access that uses a decoder and a television. US7137119B1|2006-11-14|Resource manager architecture with resource allocation utilizing priority-based preemption CA2287904C|2004-07-06|A method and system for providing on-line interactivity over a server-client network EP2284725B1|2019-07-10|Client, brokerage server and method for providing cloud storage WO2016181383A2|2016-11-17|System and method for streaming content from multiple servers US20140335835A1|2014-11-13|System, wireless communication device and method for combining compatible services EP1047240B1|2004-11-03|Method and apparatus for object rendering in a network US8386465B2|2013-02-26|System and method to manage and distribute media using a predictive media cache JP4738457B2|2011-08-03|A process for scalable and reliable transfer of multiple high-bandwidth data streams between computer systems and multiple storage devices and multiple applications TW303558B|1997-04-21| EP1131930B1|2007-01-17|Partitioning of file for emulating streaming CN104583979B|2017-10-24|Dynamic physical memory partition technology US8484354B2|2013-07-09|Distributed resource management Dorward et al.1997|The Inferno™ operating system US7451176B2|2008-11-11|System and method providing multi-tier applications architecture DE69812338T2|2004-03-04|Video on request with video recorder-like functions EP1540946B1|2018-04-18|Broadcast carousel system access for remote home communications terminal via a gateway device US7904930B2|2011-03-08|Broadcast content delivery systems and methods
同族专利:
公开号 | 公开日 EP1142306A1|2001-10-10| US20020073218A1|2002-06-13| WO2000040007A1|2000-07-06|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
1998-12-23|Priority to US09/219,011 1998-12-23|Priority to US09/219,011 1999-12-17|Application filed by 파워티브이, 인코포레이티드 1999-12-17|Priority to PCT/US1999/030250 2001-09-08|Publication of KR20010086148A
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 US09/219,011|US20020073218A1|1998-12-23|1998-12-23|Stream device management system for multimedia clients in a broadcast network architecture| US09/219,011|1998-12-23| PCT/US1999/030250|WO2000040007A1|1998-12-23|1999-12-17|A stream device management system for multimedia clients in a broadcast network architecture| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|