Method and apparatus for content processing and routing
First Claim
1. Computer system apparatus comprising:
- a network comprising at least one node, each node having a plurality of services that transmit data and service requests amongst each other as media objects, said plurality of services comprising;
at least one kernel service comprising a kernel router service, wherein said kernel router service routes media objects between each service within said node;
at least one application service, each application service forming an interface between an external application and said node for the exchange of said data and service requests; and
at least one content service, each content service providing processing of said data internal to said node.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for incorporating content processing and content routing intelligence into networks. In one embodiment, the content processing and routing (CPR) system is aware of the content and requirements of data and service requests, as well as the capabilities of all services accessible via the system. Efficient network routing is accomplished by considering the capabilities of the available transmission channels, and the transmission needs of all current transmission service requests. Service requests are routed to the most suitable service or combination of services to fulfill the request. A mechanism is also provided for transparently converting data to accommodate data format differences between clients and services. In one embodiment, the CPR system comprises a system kernel consisting of the core software modules that are required to load, initialize and start CPR services, and allow the services to communicate securely. The CPR services conform to several general service types. These types include application services which act as the interface between a specific external application or device and the CPR system; kernel services which provide services on behalf of the kernel; content services which act on information in transit through the CPR system; routing services which contain the routing logic specific to a particular application; and link services which provide for the joining of two CPR instances over a network or other transmission channel. Data exchange is supported for bounded data in the form of media objects and unbounded data in the form of media streams.
-
Citations
89 Claims
-
1. Computer system apparatus comprising:
-
a network comprising at least one node, each node having a plurality of services that transmit data and service requests amongst each other as media objects, said plurality of services comprising;
at least one kernel service comprising a kernel router service, wherein said kernel router service routes media objects between each service within said node;
at least one application service, each application service forming an interface between an external application and said node for the exchange of said data and service requests; and
at least one content service, each content service providing processing of said data internal to said node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
information about the location, identity and capabilities of services in said network; and
a list of service calls supported by each service.
-
-
6. The apparatus of claim 1, wherein said at least one kernel service further comprises a service locator service, said service locator service maintaining a directory comprising:
-
information about the location, identity and capabilities of services in said network; and
a list of service calls supported by each service.
-
-
7. The apparatus of claim 1, wherein said at least one kernel service further comprises a service monitor that tracks the status of services running on said node.
-
8. The apparatus of claim 7, wherein said service monitor monitors services running on a remote node by performing updates via service requests to and from a service monitor running on said remote node.
-
9. The apparatus of claim 1, wherein said at least one kernel service comprises a capability-based service request service which resolves a service route for service requests based on attributes associated with said service requests and capabilities associated with said plurality of services.
-
10. The apparatus of claim 1, further comprising an application service forming an interface between a device and said node.
-
11. The apparatus of claim 1, wherein said at least one content service performs analysis of said data in transit through said network.
-
12. The apparatus of claim 1, wherein said at least one content service examines said data to determine attributes associated with the content of said data.
-
13. The apparatus of claim 1, wherein said at least one content service converts said data from a first format to a second format.
-
14. The apparatus of claim 1, wherein said at least one content service modifies said data in transit through said network.
-
15. The apparatus of claim 1, wherein said at least one content service combines a plurality of data input formats into a single output format.
-
16. The apparatus of claim 1, wherein said at least one content service replicates at least one data input format to provide a plurality of data output formats.
-
17. The apparatus of claim 1, wherein said at least one content service terminates data.
-
18. The apparatus of claim 1, wherein said at least one content service converts a plurality of data input formats into a plurality of data output formats different from said data input formats.
-
19. The apparatus of claim 1, wherein said at least one content service separates a data input format into multiple output formats derived from said data input format.
-
20. The apparatus of claim 1, further comprising a kernel having a plurality of management modules accessible to said plurality of services via function calls.
-
21. The apparatus of claim 20, wherein said plurality of management modules comprise a boot manager which loads and starts other management modules.
-
22. The apparatus of claim 20, wherein said plurality of management modules comprise a monitor manager which monitors execution threads created in the node.
-
23. The apparatus of claim 20, wherein said plurality of management modules comprise a logging manager which handles message logging.
-
24. The apparatus of claim 20, wherein said plurality of management modules comprise a storage manager which handles storage of configuration information.
-
25. The apparatus of claim 20, wherein said plurality of management modules comprise a queue and stream manager which manages object queues and stream buffers for the input and output of media objects and media streams, respectively, from each of said plurality of services.
-
26. The apparatus of claim 20, wherein said plurality of management modules comprise a remote service call manager which handles encapsulation of service requests into media objects for a sending service, and which handles unpackaging of said service requests from said media objects for a receiving service.
-
27. The apparatus of claim 20, wherein said plurality of management modules comprise a configuration manager which loads and starts said plurality of services.
-
28. The apparatus of claim 20, wherein said plurality of management modules comprise a link manager, said link manager comprising a compression module manager, an encryption module manager and an authentication manager.
-
29. The apparatus of claim 20, wherein said plurality of management modules comprise an object handler, said object handler used by said plurality of services to read, write and delete said data from said media objects.
-
30. A method for incorporating content processing and content routing intelligence into networks, comprising:
-
forming a network comprising a plurality of nodes;
within each node, forming an interface between an external application and said node by providing an application service for the exchange of data and service requests;
within a content service, processing said data in transit through said network; and
routing said data and service requests between each service in said node via a kernel router service. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59)
maintaining information about the location, identity and capabilities of services in said network; and
maintaining a list of service calls supported by each service.
-
-
35. The method of claim 34, further comprising resolving a service route for service requests based on attributes associated with said service requests and said capabilities associated with said plurality of services.
-
36. The method of claim 30, further comprising, within each node, monitoring the status of services running on said node.
-
37. The method of claim 36, further comprising, within each node, monitoring the status of services running on a remote node by performing updates via service requests to and from a monitoring service on said remote node.
-
38. The method of claim 30, further comprising forming an interface between a device and said node by providing another application service for the exchange of said data and said service requests.
-
39. The method of claim 30, wherein said step of processing said data in transit through said network comprises performing analysis on said data.
-
40. The method of claim 30, wherein said step of processing said data in transit through said network comprises examining said data to determine attributes associated with the content of said data.
-
41. The method of claim 30, wherein said step of processing said data in transit through said network comprises converting said data from a first format to a second format.
-
42. The method of claim 30, wherein said step of processing said data in transit through said network comprises separating said data into separate data elements.
-
43. The method of claim 30, wherein said step of processing said data in transit through said network comprises combining separate data elements into a single data element.
-
44. The method of claim 30, wherein said step of processing said data in transit through said network comprises replicating at least one data input format to provide a plurality of data output formats.
-
45. The method of claim 30, wherein said step of processing said data in transit through said network comprises terminating data.
-
46. The method of claim 30, wherein said step of processing said data in transit through said network comprises converting a plurality of data input formats into a plurality of data output formats different from said data input formats.
-
47. The method of claim 30, further comprising, within each node, providing a plurality of management modules accessible to services in said node via function calls.
-
48. The method of claim 47, further comprising loading and starting said plurality of management modules via a boot manager.
-
49. The method of claim 47, further comprising, within each node, monitoring execution threads created in said node via a monitor manager.
-
50. The method of claim 47, further comprising, within each node, logging messages via a logging manager.
-
51. The method of claim 47, further comprising, within each node, handling storage of configuration information via a storage manager.
-
52. The method of claim 47, further comprising, within each node, managing object queues and stream buffers for the input and output of media objects and media streams from each service via a queue and stream manager.
-
53. The method of claim 47, further comprising:
-
within each node, in a remote service call manager, encapsulating service requests within media objects for a sending service; and
unpackaging said service requests from said media objects for a receiving service.
-
-
54. The method of claim 47, further comprising, within each node, loading and starting said services via a configuration manager.
-
55. The method of claim 47, further comprising, within each node, each service using an object handler to read data from, write data to and delete data from a media object.
-
56. The method of claim 47, further comprising, within each node, providing a compression module manager to load a compression module and to manage compression and decompression of data transmitted between nodes.
-
57. The method of claim 47, further comprising, within each node, providing an encryption module manager to load an encryption module and to manage encryption and decryption of data transmitted between nodes.
-
58. The method of claim 47, further comprising, within each node, providing an authentication manager to manage authentication of data transmitted between nodes.
-
59. The method of claim 30, further comprising, in said node, forming a communication link with another node via a link service.
-
60. A computer program product comprising:
-
a computer usable medium having computer readable program code embodied therein for incorporating content processing and content routing intelligence into a network having a plurality of nodes, within each node, said computer program product comprising;
computer readable program code configured to cause a computer to form an interface between an external application and said node by providing an application service for the exchange of data and service requests;
computer readable program code configured to cause a computer to process, within a content service, said data in transit through said network; and
computer readable program code configured to cause a computer to route said data and said service requests between each service in said node via a kernel router service. - View Dependent Claims (61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89)
computer readable program code configured to cause a computer to maintain information about the location, identity and capabilities of services in said network; and
computer readable program code configured to cause a computer to maintain a list of service calls supported by each service.
-
-
65. The computer program product of claim 64, further comprising computer readable program code configured to cause a computer to resolve a service route for service requests based on attributes associated with said service requests and said capabilities associated with said plurality of services.
-
66. The computer program product of claim 60, further comprising computer readable program code configured to cause a computer to monitor the status of services running on said node.
-
67. The computer program product of claim 66, further comprising computer readable program code configured to cause a computer to monitor the status of services running on a remote node by performing updates via service requests to and from a monitoring service on said remote node.
-
68. The computer program product of claim 60, further comprising computer readable program code configured to cause a computer to form an interface between a device and said node by providing another application service for the exchange of said data and said service requests.
-
69. The computer program product of claim 60, wherein said computer readable program code configured to cause a computer to process said data in transit through said network comprises computer readable program code configured to cause a computer to perform analysis on said data.
-
70. The computer program product of claim 60, wherein said computer readable program code configured to cause a computer to process said data in transit through said network comprises computer readable program code configured to cause a computer to examine said data to determine attributes associated with the content of said data.
-
71. The computer program product of claim 60, wherein said computer readable program code configured to cause a computer to process said data in transit through said network comprises computer readable program code configured to cause a computer to convert said data from a first format to a second format.
-
72. The computer program product of claim 60, wherein said computer readable program code configured to cause a computer to process aid data in transit through said network comprises computer readable program code configured to cause a computer to separate said data into separate data elements.
-
73. The computer program product of claim 60, wherein said computer readable program code configured to cause a computer to process said data in transit through said network comprises computer readable program code configured to cause a computer to combine separate data elements into a single data element.
-
74. The computer program product of claim 60, wherein said computer readable program code configured to cause a computer to process said data in transit through said network comprises computer readable program code configured to cause a computer to replicate at least one data input format to provide a plurality of data output formats.
-
75. The computer program product of claim 60, wherein said computer readable program code configured to cause a computer to process said data in transit through said network comprises computer readable program code configured to cause a computer to terminate data.
-
76. The computer program product of claim 60, wherein said computer readable program code configured to cause a computer to process said data in transit through said network comprises computer readable program code configured to cause a computer to convert a plurality of data input formats into a plurality of data output formats different from said data input formats.
-
77. The computer program product of claim 60, further comprising computer readable program code configured to cause a computer to provide a plurality of management modules accessible to services in said node via function calls.
-
78. The computer program product of claim 77, further comprising computer readable program code configured to cause a computer to load and start said plurality of management modules via a boot manager.
-
79. The computer program product of claim 77, further comprising computer readable program code configured to cause a computer to monitor execution threads created in said node via a monitor manager.
-
80. The computer program product of claim 77, further comprising computer readable program code configured to cause a computer to log messages via a logging manager.
-
81. The computer program product of claim 77, further comprising computer readable program code configured to cause a computer to handle storage of configuration information via a storage manager.
-
82. The computer program product of claim 77, further comprising computer readable program code configured to cause a computer to manage object queues and stream buffers for the input and output of media objects and media streams from each service via a queue and stream manager.
-
83. The computer program product of claim 77, further comprising:
-
computer readable program code configured to cause a computer to, in a remote service call manager, encapsulate service requests within media objects for a sending service; and
unpackage said service requests from said media objects for a receiving service.
-
-
84. The computer program product of claim 77, further comprising computer readable program code configured to cause a computer to load and start said services via a configuration manager.
-
85. The computer program product of claim 77, further comprising computer readable program code configured to cause a computer to read data from, write data to and delete data from a media object via an object handler.
-
86. The computer program product of claim 77, further comprising computer readable program code configured to cause a computer to provide a compression module manager to load a compression module and to manage compression and decompression of data transmitted between nodes.
-
87. The computer program product of claim 77, further comprising computer readable program code configured to cause a computer to provide an encryption module manager to load an encryption module and to manage encryption and decryption of data transmitted between nodes.
-
88. The computer program product of claim 77, further comprising computer readable program code configured to cause a computer to provide an authentication manager to manage authentication of data transmitted between nodes.
-
89. The computer program product of claim 60, further comprising computer readable program code configured to cause a computer to form a communication link with another node via a link service.
Specification