USRE42685EExpiredUtilityPatentIndex 82
Upgrading digital media servers
Est. expiryApr 2, 2023(expired)· nominal 20-yr term from priority
G06F 8/656H04N 21/241H04N 21/818H04W 8/24G06F 15/00
82
PatentIndex Score
15
Cited by
50
References
51
Claims
Abstract
A system and method are disclosed for upgrading both hardware and software components of a digital media server without disrupting media delivery services. In a preferred embodiment, the present system and method employ an object-oriented model that allows system servers to remain fully operational while software upgrades at both the operating system and application levels are installed. Additionally, the system and method use redundant or partitionable programmable logic devices to perform firmware upgrades without disrupting media delivery services.
Claims
exact text as granted — not AI-modified1. A method of upgrading a digital media server comprising an object oriented runtime environment implemented in a memory, the method comprising:
checking for the existence of an upgrade package comprising new objects;
identifying the new objects in the upgrade package;
identifying functions and properties of the new objects;
evaluating compatibility of the new objects;
instantiating new objects as applications objects or services objects in the memory;
determining whether a new object replaces an old object in the object oriented runtime environment; and
if the new object replaces the old object, replacing the old object by:
locking the old object and the new object;
copying fields from the old object to the new object;
establishing links from the new object to objects dependent on the old object;
rerouting links to the old object from other objects to the new object;
in response to rerouting the links, unlocking the new object; and
removing the old object.
2. The method of claim 1 , wherein the step of replacing further comprises:
locking the old object and the new object; copying fields from the old object to the new object; establishing links from the new object to objects dependent on the old object; rerouting links to the old object from other objects to the new object; unlocking the new object; and removing the old object.
3. The method of claim 2 1 , wherein the step of removing comprises further comprising archiving the old object.
4. The method of claim 2 1 , wherein the step of removing the old object comprises purging the old object.
5. The method of claim 1 , wherein the upgrade package further comprises one or more new methods for old objects, the method further comprising:
identifying the one or more new methods from the upgrade package;
evaluating compatibility of the one or more new methods;
for each of the one or more new methods: determining whether a new method replaces an a corresponding old method; and if the new method replaces the corresponding old method, blocking and replacing the old method with the new method.
6. The method of claim 5 , wherein the old method is an interface.
7. The method of claim 1 , further comprising downloading the upgrade package from a network source.
8. The method of claim 1 , further comprising loading the upgrade package from a storage medium.
9. A method of installing upgrades on a digital media server comprising a general purpose computer and a hardware engine, the computer comprising an object oriented runtime environment, and the hardware engine comprising a programmable logic device having a first active partition in an active state and a second inactive partition in an inactive state, the method comprising,
checking for the existence of an upgrade package comprising new objects and new logic;
identifying the new objects in the upgrade package;
identifying functions and properties of the new objects;
evaluating compatibility of the new objects;
instantiating new objects as applications objects or services objects;
determining whether a new object replaces an old object in the object oriented runtime environment;
if the new object replaces the old object, replacing the old object;
identifying the new logic in the upgrade package;
programming the second inactive partition with the new logic;
transitioning the second partition from an the inactive state to an the active state and simultaneously assuming data processing functions from the first active partition; and
transitioning the first partition to an the inactive state.
10. The method of claim 9 , further comprising programming the first partition with the new logic.
11. The method of claim 9 , further comprising downloading the upgrade package from a network source.
12. The method of claim 9 , further comprising loading the upgrade package from a storage medium.
13. The method of claim 9 , wherein the step of replacing the old object further comprises:
locking the old object and the new object;
copying fields from the old object to the new object;
establishing links from the new object to objects dependent on the old object;
rerouting links to the old object from other objects to the new object;
in response to rerouting the links, unlocking the new object; and
removing the old object.
14. The method of claim 13 , wherein the step of removing comprises further comprising archiving the old object.
15. The method of claim 13 , wherein the step of removing the old object comprises purging the old object.
16. A method of installing upgrades on a digital media server comprising a general purpose computer and a hardware engine, the computer comprising an object oriented runtime environment, and the hardware engine comprising two or more programmable logic devices, each having active and inactive states, the method comprising:
checking for the existence of an upgrade package comprising new objects and new logic;
identifying the new objects in the upgrade package;
identifying functions and properties of the new objects;
evaluating compatibility of the new objects;
instantiating the new objects as applications objects or services objects;
determining whether a new object replaces an old object in the object oriented runtime environment;
if the new object replaces the old object, replacing the old object;
identifying the new logic in the upgrade package;
determining a first set of programmable logic devices that are in the active state;
programming the new logic into a second set of one or more logic devices in an inactive state;
transitioning the second set of devices to the active state and simultaneously assuming data processing functions from the first set of devices; and
transitioning the first set of devices to the inactive state.
17. The method of claim 16 , further comprising programming the new logic into the first set of devices.
18. The method of claim 16 , further comprising downloading the upgrade package from a network source.
19. The method of claim 16 , further comprising loading the upgrade package from a storage medium.
20. The method of claim 16 , wherein the step of replacing the old object further comprises:
locking the old object and the new object;
copying fields from the old object to the new object;
establishing links from the new object to objects dependent on the old object;
rerouting links to the old object from other objects to the new object;
in response to rerouting the links, unlocking the new object; and
removing the old object.
21. The method of claim 20 , wherein the step of removing comprises further comprising archiving the old object.
22. The method of claim 20 , wherein the step of removing the old object comprises purging the old object.
23. The method of claim 16 , wherein the upgrade package further comprises one or more new methods for old objects, the method further comprising;
identifying the one or more new methods;
evaluating compatibility of the one or more new methods;
determining whether a new method replaces an old method; and
if the new method replaces the old method, blocking and replacing the old method.
24. The method of claim 23 , wherein the old method is an interface.
25. A digital media server comprising:
a storage medium comprising an object store; and
a computing device configured to execute an object-oriented, runtime environment, the object- oriented, runtime environment comprising:
service objects, application objects, and an object manager adapted to facilitate the replacement of the service objects and the application objects without disrupting data processing functionality supplied by the service and application objects by:
locking an old object and a new object;
copying fields from the old object to the new object;
establishing links from the new object to objects dependent on the old object;
rerouting links to the old object from other objects to the new object;
in response to rerouting the links, unlocking the new object; and
removing the old object.
26. The server of claim 25 , further comprising a network interface for downloading an upgrade package comprising replacement service and application objects.
27. The server of claim 25 , further comprising the storage media for storing medium further comprising an upgrade package comprising replacement service and application objects.
28. A digital media server comprising:
an object store;
an object-oriented, runtime environment, comprising: service objects, application objects, and an object manager adapted to facilitate the replacement of the service objects and the application objects without disrupting data processing functionality supplied by the service and application objects;
two or more programmable logic devices, each capable of switching between an active state and an inactive state;
an input data path; and
an output data path;
wherein one or more programmable logic devices in the active state processes digital media arriving on the input data path and presents processed digital media to the output data path while one or more programmable logic devices in the inactive state are programmed with new logic.
29. The server of claim 28 , further comprising a network interface for downloading an upgrade package comprising replacement service and application objects and new logic.
30. The server of claim 28 , further comprising storage media for storing an upgrade package comprising replacement service and application objects and new logic.
31. A digital media server comprising:
an object store;
an object-oriented, runtime environment, comprising: service objects, application objects, and an object manager adapted to facilitate the replacement of the service objects and the application objects without disrupting data processing functionality supplied by the service and application objects;
a partitionable programmable logic device having two or more independendy programmable partitions, each partition capable of switching between an active state and an inactive state;
an input data path; and
an output data path;
wherein one or more partitions in the active state process digital media arriving on the input data path and present processed digital media to the output data path while one or more partitions in the inactive state are programmed with new logic.
32. The server of claim 31 , further comprising a network interface for downloading an upgrade package comprising replacement service and application objects and the new logic.
33. The server of claim 31 , further comprising storage media for storing an upgrade package comprising replacement service and application objects and the new logic.
34. A method of upgrading a digital media server comprising an object oriented runtime environment implemented in a memory, the method comprising:
tracking logical connections to other objects for each object in the object oriented runtime environment; identifying functions and properties of a new object in an upgrade package; instantiating the new object as an application object or service object in the memory; determining whether the new object replaces an old object in the object oriented runtime environment; establishing new logical connections between the new object and the other objects in the object oriented runtime environment; in response to establishing the new logical connections, replacing the old object with the new object; identifying new logic in the upgrade package; programming an inactive programmable logic device partition with the new logic; transitioning the inactive programmable logic device partition from an inactive state to an active state and assuming data processing functions from an active programmable logic device partition; and transitioning the active programmable logic device partition to an inactive state.
35. The method of claim 34 , wherein replacing the old object further comprises locking the old object and the new object.
36. The method of claim 35 , wherein replacing the old object further comprises copying fields from the old object to the new object.
37. The method of claim 35 , wherein replacing the old object further comprises establishing links from the new object to objects dependent on the old object.
38. The method of claim 35 , wherein replacing the old object further comprises rerouting links to the old object from other objects to the new object.
39. The method of claim 35 , wherein replacing the old object comprises removing the old object from the object oriented runtime environment and archiving the old object.
40. A method of upgrading a digital media server comprising an object oriented runtime environment implemented in a memory, the method comprising:
identifying a new method for an old object in an upgrade package, wherein the old object comprises at least one other method; evaluating compatibility of the new method; determining whether the new method replaces an old method in the object oriented runtime environment; and if the new method replaces the old method, replacing the old method while allowing access to the at least one other method by: blocking access to the old method, replacing the old method with the new method, and allowing access to the new method; identifying new logic in the upgrade package; programming an inactive programmable logic device partition with the new logic; transitioning the inactive programmable logic device partition from an inactive state to an active state and assuming data processing functions from an active programmable logic device partition; and transitioning the active programmable logic device partition to an inactive state.
41. The method of claim 40 , wherein the old method is an interface.
42. A method of installing upgrades on a digital media server comprising a general purpose computer and a hardware engine, the computer comprising an object oriented runtime environment, and the hardware engine comprising a programmable logic device having a first partition in an active state, the method comprising:
detecting an instruction to initiate an upgrade; responsive to detecting the instruction to initiate the upgrade, creating a second partition in an inactive state on the programmable logic device; identifying a new object in an upgrade package, said new object being for execution in the object oriented runtime environment; determining that the new object replaces an old object in the object oriented runtime environment; programming the second partition with the new object; transitioning the second partition from the inactive state to an active state; assuming, by the second partition, data processing functions from the first partition; and transitioning the first partition to the inactive state.
43. The method of claim 42 , further comprising programming the first partition with the new object.
44. A method of installing upgrades on a digital media server comprising a general purpose computer and a hardware engine, the computer comprising an object oriented runtime environment, and the hardware engine comprising two or more programmable logic devices, each having active and inactive states, the method comprising:
identifying a new object in an upgrade package, said new object being for execution in the object oriented runtime environment; determining that the new object replaces an old object in the object oriented runtime environment; determining that a first programmable logic device is in an active state; programming the new object into a second programmable logic device in an inactive state; copying the values of at least one field of the old object into at least one field of the new object; transitioning the second programmable logic device to the active state; assuming, by the second programmable logic device, data processing functions from the first programmable logic device; and transitioning the first programmable logic device to the inactive state.
45. The method of claim 44 , further comprising programming the new object into the first programmable logic device.
46. A digital media server comprising:
an object - oriented runtime environment comprising service objects and an object manager, wherein the object manager is configured to: identify functions and properties of a new object, instantiate the new object as an application object or a service object in a memory, determine whether the new object replaces an old object in the object oriented runtime environment, establish new logical connections between the new object and other objects in the object oriented runtime environment, and in response to establishing the new logical connections between the new object and the other objects, replace the old object with the new object; two or more programmable logic devices, each capable of switching between an active state and an inactive state; an input data path; and an output data path; wherein one or more programmable logic devices in the active state processes, in the object oriented runtime environment, digital media arriving on the input data path and presents processed digital media to the output data path while one or more programmable logic devices in the inactive state are programmed by the object manager with new logic for execution in the object oriented runtime environment, and wherein the object manager establishes new logical connections between the new logic and objects in the object oriented runtime environment.
47. The server of claim 46 , further comprising a network interface for downloading an upgrade package comprising replacement service and application objects and the new logic.
48. The server of claim 46 , further comprising a storage medium for storing an upgrade package comprising replacement service and application objects and the new logic.
49. A digital media server comprising:
an object - oriented runtime environment comprising service objects and an object manager, wherein the object manager is configured to: identify functions and properties of a new object, instantiate the new object as a service object in a memory, determine whether the new object replaces an old object in the object oriented runtime environment, establish new logical connections between the new object and other objects in the object oriented runtime environment, and in response to establishing the new logical connections between the new object and the other objects, replace the old object with the new object; a partitionable programmable logic device having two or more independently programmable partitions, each partition capable of switching between an active state and an inactive state, wherein a second partition in the inactive state is created on the partitionable programmable logic responsive to detecting an instruction to initiate an upgrade; an input data path; and an output data path; wherein a first partition in the active state processes, in the object oriented runtime environment, digital media arriving on the input data path and presents processed digital media to the output data path while the second partition in the inactive state is programmed with new logic for execution in the object oriented runtime environment.
50. The server of claim 49 , further comprising a network interface for downloading an upgrade package comprising replacement service and application objects and the new logic.
51. The server of claim 49 , further comprising a storage medium for storing an upgrade package comprising replacement service and application objects and the new logic.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.