Method and apparatus for in-kernel application-specific processing of content streams
Abstract
An embodiment of the invention transfers content between one or more input streams and one or more output streams via an application running on a host system. A kernel-level service is provided which is adapted to perform application-specific processing and which attends to transfer of content from at least one input stream to at least one output stream. With the kernel-level service, an operation is performed for the collection of at least one input stream and at least one output stream via: performing application-specific processing; and attending to the transfer of content from at least one input stream to at least one output stream.
Claims
exact text as granted — not AI-modified1 . A method comprising:
utilizing a machine to execute a program of instructions tangibly embodied in a program storage device, the program of instructions, when executed, being configured to: cause a kernel-level transfer service to receive a request from one or more applications for general purpose operating system kernel-level offloading of content transfer between one or more input streams and one or more output streams; cause the kernel-level transfer service to register one or more application-specific handlers, the one or more application specific handlers being configured to execute application-specific content processing in kernel space; cause the kernel-level transfer service to invoke the one or more application-specific handlers to execute the application-specific content processing in kernel space; and cause the kernel-level transfer service to transfer content between the one or more input streams and the one or more output streams.
2 . The method according to claim 1 , wherein the program of instructions is further configured to employ the kernel-level transfer service to provide feedback on at least one of the transfer and the application-specific processing to the one or more applications in response to the transfer or the application-specific processing transitioning into a predetermined state or upon application request.
3 . The method according to claim 1 , wherein said application-specific processing comprises one or more of:
performing different procedures for different streams; and utilizing different configuration parameters for different streams.
4 . The method according to claim 1 , wherein said application-specific processing comprises one or more of:
dropping one or more content segments of an input stream; modifying one or more content segments of an input stream; and transferring to an output stream one or more content segments not contained in any input stream.
5 . The method according to claim 1 , wherein the program of instructions is further configured to vary a number of streams subsequent to initiating said application-specific content processing.
6 . The method according to claim 1 , wherein the program of instructions is further configured to, during the transfer, cause the one or more applications to indicate how the transfer is to proceed if a stream-state change occurs on one or more input or output streams.
7 . The method according to claim 1 , wherein the one or more applications handle web content.
8 . The method according to claim 7 , wherein:
the one or more input streams and the one or more output streams differ in specific encoding characteristics; and said application-specific processing comprises translating between specific encoding characteristics of the one or more input streams and the one or more output streams.
9 . The method according to claim 1 , wherein:
the one or more applications handle media content; the one or more input streams comprise one or more stream produced by a media source; and said application-specific processing comprises adding content markers to customize one or more output streams to capabilities of a media consumer.
10 . An apparatus comprising:
one or more processors; and a program storage device tangibly embodying a program of instructions, the program of instructions, when executed by the one or more processors, being configured to: cause a kernel-level transfer service to receive a request from one or more applications for general purpose operating system kernel-level offloading of content transfer between one or more input streams and one or more output streams; cause the kernel-level transfer service to register one or more application-specific handlers, the one or more application specific handlers being configured to execute application-specific content processing in kernel space; cause the kernel-level transfer service to invoke the one or more application-specific handlers to execute the application-specific content processing in kernel space; and cause the kernel-level service to transfer content between the one or more input streams and the one or more output streams.
11 . The apparatus according to claim 10 , wherein the program of instructions is further configured to employ the kernel-level service to provide feedback on at least one of the transfer and the application-specific processing to the one or more applications in response to the transfer or the application-specific processing transitioning into a predetermined state or upon application request.
12 . The apparatus according to claim 10 , wherein said application-specific processing comprises one or more of:
performing different procedures for different streams; and utilizing different configuration parameters for different streams.
13 . The apparatus according to claim 10 , wherein said application-specific processing comprises one or more of:
dropping one or more content segments of an input stream; modifying one or more content segments of an input stream; and transferring to an output stream one or more content segments not contained in any input stream.
14 . The apparatus according to claim 10 , wherein the program of instructions is further configured to vary a number of streams subsequent to initiating said application-specific content processing.
15 . The apparatus according to claim 10 , wherein the program of instructions is further configured to, during the transfer, cause the one or more applications to indicate how the transfer is to proceed if a stream-state change occurs on one or more input or output streams.
16 . The apparatus according to claim 10 , wherein the one or more applications handle web content.
17 . The apparatus according to claim 16 , wherein:
one or more input streams and one or more output streams differ in specific encoding characteristics; and said application-specific processing comprises translating between specific encoding characteristics of the one or more input streams and the one or more output streams.
18 . The method according to claim 10 , wherein:
the one or more applications handle media content; the one or more input streams comprise one or more streams produced by a media source; and said application-specific processing comprises adding content markers to customize one or more output streams to capabilities of a media consumer.
19 . The apparatus according to claim 10 , wherein the request further comprises: an indication of input and output streams; a pre-registered procedure to be invoked for each input stream; a set of application-specific processing parameters regarding each input stream; a type of transfer termination; one or more content caching requirements; and whether an interaction is synchronous or asynchronous.
20 . A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to:
cause a kernel-level transfer service to receive a request from one or more applications for general purpose operating system kernel-level offloading of content transfer between one or more input streams and one or more output streams; cause the kernel-level transfer service to register one or more application-specific handlers, the one or more application specific handlers being configured to execute application-specific content processing in kernel space; cause the kernel-level transfer service to invoke the one or more application-specific handlers to execute the application-specific content processing in kernel space; and cause the kernel-level service to transfer content between the one or more input streams and one or more output streams.Join the waitlist — get patent alerts
Track US2009292825A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.