1. An instrument for inserting a biosensor into a subject, said instrument comprising:
a support device, wherein said support device contains at least one channel;
a plunger, wherein said plunger is slidable within said channel;
a compartment, said compartment having a top end and a bottom end and wherein said compartment stores at least one of said biosensors;
a plug, wherein said plug is insertable into the top end of the compartment;
a hollow tube, wherein said hollow tube is attached to and extends from one end of said support device, and wherein said channel, plunger and hollow tube are configured such that said biosensor can be expelled through said channel and hollow tube by said plunger and into said subject.
2. The instrument of claim 1, wherein said compartment is a hydration compartment which is configured to contain hydration fluid for hydrating said biosensor.
3. The instrument of claim 2, wherein said hydration fluid is at least one selected from the group consisting of: saline solution, inorganic salts, buffer salts, preservatives, antimicrobial agents, antibiotics, anti-inflammatory drugs, pharmacological compounds, ionic surfactants, nonionic surfactants, thickening agents, antioxidants, vitamins, and saccharides.
4. The instrument of claim 1, wherein said compartment contains a breakable floor.
5. The instrument of claim 1, wherein said plug includes a slot through which hydration fluid enters the compartment.
6. The instrument of claim 1, wherein said plug is made of a porous material allowing fluid to enter said compartment.
7. The instrument of claim 1, wherein said plug is made of solid material and creates a fluid-tight friction fit within the walls of said compartment.
8. The instrument of claim 1, wherein said plug contains a hollow chamber for containing hydrating fluid.
9. The instrument of claim 8, wherein said plug contains a breakable bottom, wherein said breakable bottom breaks upon the application of pressure by the user and releases said hydrating fluid into the compartment.
10. The instrument of claim 1, wherein said support device is made of a porous material allowing fluid to enter said compartment.
11. The instrument of claim 1, wherein said support device further comprises a first element that identifies the backward most position of the plunger within the channel.
12. The instrument of claim 1, wherein said support device further comprises a second element identified when the plunger and biosensor are positioned within the channel such that biosensor is positioned at the distal end of the hollow tube.
13. The instrument of claim 1, wherein said support device further comprises a third element that identifies the forward most position of the plunger within the channel.
14. The instrument of claim 11, wherein said first element is a ramp that is configured to engage an extension arm extending from said plunger.
15. The instrument of claim 12, wherein said second element is a ramp that is configured to engage an extension arm extending from said plunger.
16. The instrument of claim 13, wherein said third element is a ramp that is configured to engage an extension arm extending from said plunger.
17. The instrument of claim 1, wherein said plunger contains at least one extension arm.
18. The instrument of claim 1, wherein a hydration compartment can be located opposite the extension arm.
19. The instrument of claim 1, wherein said plug is substantially t-shaped and is configured to slidably engage the walls of said compartment.
20. The instrument of claim 1, wherein said plug is shaped to cradle said biosensor.
21. The instrument of claim 1, wherein said support device contains ridges to allow for ergonomic gripping of said instrument.
22. The instrument of claim 1, wherein said support device contains at least one slot allowing an extension arm extending from said plunger to be moved back and forth along said support device.
23. The instrument of claim 1, wherein said plunger is made of a guide wire.
24. The instrument of claim 1, wherein said plunger is made of plastic.
25. The instrument of claim 1, wherein said hollow tube is a needle.
26. The instrument of claim 1, wherein the distal end of said hollow tube is beveled.
27. The instrument of claim 1, wherein said plunger is a stylet.
28. The instrument of claim 1, wherein said plunger has a beveled distal end matching a beveled end of said tube.
29. The instrument of claim 1, wherein said channel further comprises a first breakable barrier and second breakable barrier.
30. The instrument of claim 29, wherein said first and second breakable barriers form part of the compartment for containing said biosensor and said hydration fluid.
31. The instrument of claim 30, wherein the compartment is sealed by a plug.
32. The instrument of claim 30, wherein said plug is configured to secure said biosensor in said compartment.
33. A method for inserting a biosensor into a subject comprising the steps of:
providing an instrument for inserting a biosensor into a subject comprising a support device containing at least one channel, a plunger slidable within said channel, a compartment that stores at least one biosensor, a plug configured to secure said biosensor in said compartment, and a hollow tube which is attached to and extends from a distal end of said support device;
moving said plunger to a first position of said support device to allow a biosensor to enter said channel of said support device;
pushing said plug into said compartment contained in said support device to secure said biosensor within said channel of said support device;
moving said plunger toward a second position of said support device to indicate to the user that said biosensor has traveled through said hollow tube and is about to enter said subject;
moving said plunger to a third position of said support device to indicate to the user that said biosensor has exited said hollow tube and entered said subject.
34. The method of claim 33, wherein said biosensor is initially located within said compartment.
35. The method of claim 33, wherein said biosensor enters said channel by gravity.
36. The method of claim 33, wherein ramps lock said plunger at said positions.
37. A method for loading a biosensor into an insertion device comprising the steps of:
providing an instrument for inserting a biosensor into a subject comprising a support device containing at least one channel, a plunger slidable within said channel, a compartment that stores at least one biosensor, a plug configured to secure said biosensor in said compartment, and a hollow tube which is attached to and extends from a distal end of said support device;
moving said plunger to a first position of said support device to allow room for said biosensor to be placed in the distal end of the hollow tube of said support device;
placing said biosensor inside said distal end of said hollow tube;
moving said plunger through said channel to a second position of said support device to allow said biosensor to travel through said channel and enter said compartment;
moving said plunger to a third position of said support device to allow said biosensor to be secured between said plug and said plunger.
38. The method of claim 37, wherein said biosensor rests against a distal end of said plunger when said plunger moves to said second position.
39. The method of claim 37, wherein said biosensor enters said compartment by gravity.
40. A package assembly for storing a biosensor and apparatus for inserting a biosensor into a subject comprising:
a package body shaped to contain at least one insertion instrument within a cavity of said package body;
a sterile barrier sealed to said package body, wherein said sterile barrier contains at least one septum which allows said cavity to be filled with fluid, and wherein said barrier is sealed to said body so as to prevent fluid from leaking from said cavity.
41. The package assembly of claim 40, wherein said package body is composed of plastic.
42. The package assembly of claim 40, wherein said sterile barrier is at least one selected from the group consisting of: plastic, paper or aluminum foil.
43. The package assembly of claim 40, wherein said septum prevents fluid from leaking out of said cavity.
44. The package assembly of claim 40, wherein said package body is shaped to secure said instrument.
45. The package assembly of claim 40, wherein said instrument is secured to said package body by friction fitting.
46. The package assembly of claim 40, wherein said septum is configured to be pierced by a syringe.
47. The package assembly of claim 40, wherein said package assembly further comprises side walls extending form a front portion of said package body.
48. The package assembly of claim 47, wherein said side walls further comprise flap portions that can be engaged together.
49. The package assembly of claim 48, wherein said package assembly wherein said side walls and flap portions enable the package assembly to stand vertically.
50. The package assembly of claim 48, wherein said flap portions further comprise slotted clasps.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A method for operating a proxy computer in a streaming video delivery network to enforce video streaming policies for clients using bitrate adaptation and video playout rate reduction, comprising:
performing video streaming by caching video segments from a video content server and delivering cached video segments to the clients, the caching including predictively prefetching future video segments;
monitoring a variety of operational information including subscriber service level agreement (SLA) information, local network bandwidth at the proxy computer, and presence of congestion in the network;
using the operational information to calculate desired operational parameters for the network including a target bitrate for delivery of the video segments and an optimal bitrate for prefetching video segments; and
notifying a client of network conditions and the need for modification of the playout rate at which the video segments are to be rendered at the client to obtain a desired mix of quality playback and conformance to the desired operational parameters of the network.
2. The method of claim 1, wherein the video streaming is via HTTP segmented delivery.
3. The method of claim 2, further comprising one or more actions selected from the group consisting of limiting access to selected videos; limiting bandwidth usage; applying global rate limiting policies; and prioritizing bandwidth by service level.
4. The method of claim 3, wherein limiting access to selected videos includes refraining from sending videos of a given bitrate andor resolution to clients not capable of rendering the videos at the given bitrate andor resolution.
5. The method of claim 3, wherein limiting access to selected videos is based on licensing restrictions regarding maximum bitrate or resolution available to a given client.
6. The method of claim 3, wherein limiting bandwidth usage is achieved by using segment spoofing andor playlist spoofing, segment spoofing including requesting a segment for one bitrate from the video content server in response to receiving a request for a segment of a higher bitrate from a client, and playlist spoofing including sending a spoofed playlist to the client in response to receiving a requested playlist, the spoofed playlist differing from the requested playlist.
7. The method of claim 2, wherein the proxy computer includes a local HTTP server, and wherein HTTP connections from the client are proxied by the local HTTP server, and further comprising: detecting requests associated with segmented streaming video sessions.
8. The method of claim 7, wherein video streams are created in response to detecting specific uniform resource locator (URL) formats, and further comprising: detecting when the URL contains uniform resource identifier (URI) or query string parameters describing video position and bitrate.
9. The method of claim 7, wherein video streaming sessions are created in response to receiving requests for virtual playlists, and further comprising detecting when a virtual playlist file is a selected one of a group consisting of an m3u8 file; a Silverlight manifest file; and a Flash media manifest file.
10. The method of claim 9, further comprising: serving a playlist to the client from a local cache, and modifying the playlist to limit the range of bitrates accessible by the client, prior to sending the playlist to the client.
11. The method of claim 10, wherein the modified playlist sent to the client contains only a single bitrate.
12. The method of claim 10, further comprising: populating the playlist with proxy segment locations that point to the proxy computer rather than to the source location of the segment on the content server, the proxy segment locations being specified using a proxy specific location naming scheme, and selecting the source segment on the content server to return to the client at the time the client requests the proxy segment from the local proxy.
13. The method of claim 12, wherein the content of the segment returned is based on ad insertion and channel selection criteria.
14. The method of claim 12, wherein the bitrate of the segment returned is based on current bandwidth estimates and is selected from the available bitrates specified in a playlist file, and wherein the optimal bitrate is chosen as a maximum bitrate available in a playlist which does not exceed the target bitrate.
15. The method of claim 14, further comprising limiting the target bitrate based on one or more of a group consisting of a frontend bandwidth estimate, so as not to exceed available frontend bandwidth; a backend bandwidth estimate, so as not to exceed available backend bandwidth; global rate limit thresholds, so as not to exceed a carrier-enforced bandwidth maximum; and subscriber SLA, so as not to exceed a maximum bandwidth purchased by the client.
16. The method of claim 14, further comprising: redirecting the proxy segment request to the source segment location on the content server, and wherein the redirecting is performed using an HTTP redirect, and further comprising: responding to segment requests with a segment corresponding to the optimal bitrate.
17. The method of claim 16, further comprising: prefetching a next sequential segment for a corresponding optimal bitrate.
18. The method of claim 10, further comprising adding discontinuity indications to the modified playlist to notify a player at the client of possible discontinuity between segments which may be caused by segment spoofing.
19. The method of claim 10, further comprising: modifying a playlist to remove bitrates which exceed global rate limiting policies, reordering the playlist entries to dictate which bitrate should be the starting bitrate, the reordering applying a prioritization selected from the group consisting of prioritizing a lowest non-audio-only bitrate to minimize network congestion; prioritizing a highest bitrate to maximize rendering quality; and prioritizing a bitrate closest to an optimal network utilization bitrate for network efficiency.
20. The method of claim 7, further comprising detecting segments based on a uniform resource indicator (URI) and filename in the request andor HTTP headers in the request.
21. The method of claim 7, further comprising: detecting segment requests and serving segment files from a local cache, and selecting an alternate bitrate segment to fulfill the request if the requested segment does not exist in the cache.
22. The method of claim 1, wherein segments are prefetched sequentially based on a current segment being requested, and prefetched segments are cached for later delivery to the clients.
23. The method of claim 1, wherein the network includes a frontend radio access network and a backend carrier backhaul network, and wherein bandwidth of the frontend radio access network is estimated separately from bandwidth of the backend carrier backhaul network.
24. The method of claim 23, further comprising one or more of estimating frontend bandwidth based on delivery time for segments sent to client; estimating frontend bandwidth by requesting network statistics from a local base station or router via a network management protocol; estimating backend bandwidth based on retrieval time of prefetched segments; and estimating backend bandwidth by requesting network statistics from the local base station or router via the network management protocol, and wherein the network management protocol is simple network management protocol (SNMP).
25. The method of claim 24, wherein congestion is detected based on the client initiating bitrate adaptation by requesting a segment at a new bitrate different from a bitrate of a previously requested segment.
26. The method of claim 24, wherein one or both of backend network congestion and frontend network congestion are detected, backend network congestion being detected when a backend network bandwidth estimate falls below a minimum excess backend bandwidth threshold, frontend congestion being detected when the frontend bandwidth estimate falls below a minimum excess frontend bandwidth threshold.
27. The method of claim 26, wherein the minimum excess backend bandwidth threshold is an optimal bitrate and minimum excess frontend bandwidth threshold is the target bitrate.
28. The method of claim 26, wherein segments are requested by the client in a paced manner, and further comprising: notifying the client to reduce segment retrieval rate to decrease network load, and notifying the client to reduce playout rate to compensate for lower retrieval rates and prevent underrun, and wherein notifying the client includes using a custom HTTP header in a response to a segment retrieval request.
29. The method of claim 1, wherein notifying the client of network conditions includes providing a frontend network bandwidth estimate usable by the client and routers downstream of the proxy computer, and wherein notifying the client of network conditions includes using a custom HTTP header inserted into a response to an HTTP request.
30. The method of claim 1, wherein notifying the client of network conditions includes providing a backend network bandwidth estimate usable by the client and routers downstream of the proxy computer, the notifying including using a custom HTTP header inserted into a response to an HTTP request.
31. The method of claim 30, wherein segments are delivered to the client in a paced manner.
32. The method of claim 31, further comprising: reducing the segment delivery rate to decrease network load.
33. The method of claim 31, wherein segments are delivered using HTTP chunked transfer encoding, and further comprising: notifying the client to reduce playout rate to compensate for lower delivery rates and prevent underrun, and wherein the client is notified via a custom inband protocol using a custom HTTP control chunk.
34. The method of claim 30, further comprising: suspending segment prefetching to reduce network load.
35. The method of claim 1, wherein congestion is detected based on the client initiating bitrate adaptation by requesting a segment at a new bitrate different from a bitrate of a previously requested segment.
36. The method of claim 1, wherein only certain segments are prefetched, the certain segments being selected from a group consisting of segments for the target bitrate, segments for the optimal bitrate, segments for the target bitrate and a lowest possible bitrate, and segments for the target bit as well as one higher and one lower bitrate.
37. The method of claim 1, further including receiving segments being pushed to the proxy computer in response to requests from other proxy computers for the segments.
38. The method of claim 37, wherein receiving includes receiving via IP multicast, and further comprising: using forward error correction on multicast packets andor negative acknowledgements to request retransmission of lost multicast packets.
39. The method of claim 38, wherein congestion is estimated by detection of multicast packet loss.
40. The method of claim 37, wherein the segments are pushed to the proxy computer only when requested by a physically proximate proxy computer.
41. The method of claim 37, wherein the segments are pushed to the proxy computer only when requested by a temporally proximate proxy computer.
42. The method of claim 1, further comprising: limiting the target bitrate based on characteristics of the client device, the characteristics being selected from a group consisting of a display resolution of the client device and a resolution of the selected bitrate video, a type of a network technology through which the client is connected, a type of a software platform of the client device, and a make and model of the client device.
43. A proxy computer for use in a streaming video delivery network to enforce video streaming policies for clients using bitrate adaptation and video playout rate reduction, comprising:
memory;
a processor;
inputoutput circuitry for connecting the proxy computer to the streaming video delivery network including connections to the clients and a video content server; and
one or more data buses by which the memory, processor and inputoutput circuitry are coupled together,
the memory and processor being configured to store and execute program instructions to enable the proxy computer to perform a method including:
performing video streaming by caching video segments from a video content server and delivering cached video segments to the clients, the caching including predictively prefetching future video segments;
monitoring a variety of operational information including subscriber service level agreement (SLA) information, local network bandwidth at the proxy computer, and presence of congestion in the network;
using the operational information to calculate desired operational parameters for the network including a target bitrate for delivery of the video segments and an optimal bitrate for prefetching video segments; and
notifying a client of network conditions and the need for modification of the playout rate at which the video segments are to be rendered at the client to obtain a desired mix of quality playback and conformance to the desired operational parameters of the network.