US20110125916A9 - Streaming media software interface to a dispersed data storage network - Google Patents
Streaming media software interface to a dispersed data storage network Download PDFInfo
- Publication number
- US20110125916A9 US20110125916A9 US12/218,594 US21859408A US2011125916A9 US 20110125916 A9 US20110125916 A9 US 20110125916A9 US 21859408 A US21859408 A US 21859408A US 2011125916 A9 US2011125916 A9 US 2011125916A9
- Authority
- US
- United States
- Prior art keywords
- data storage
- storage network
- media player
- media
- dispersed data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Definitions
- the present invention relates generally to systems, apparatus, and methods for distributed data storage, and more particularly to systems, apparatus, and methods for distributed data storage using an information dispersal algorithm so that no one location will store an entire copy of stored data, and more particularly still to systems, apparatus, and methods for interfacing a media player application to a dispersed data storage network.
- DDSNs Dispersed data storage networks store data as an arbitrary number of data slices, generally with each data slice being stored on a separate slice server. Before a collection of data is stored it is segmented into a number of data segments, which may be of fixed or variable sizes. Each data segment is then sliced into a predetermined arbitrary number of data slices. Each data slice will generally contain minimal or no usable information by itself, but instead, must be combined with other data slices to reconstruct a usable data segment. DDSNs offer a number of advantages over traditional storage solutions including greater security and reliability.
- Prior art DDSN systems such as those offered by Cleversafe, Inc. of Chicago, Ill., have generally used an access computer, sometimes referred to as a Grid Access Computer or an AccesserTM.
- the access computer is generally a high-performance server adapted to provide DDSN access to a large number of clients, such as an office of 20 or more users.
- the access computer does not have to be specified to handle the worst case scenario of each client computer accessing a maximum amount of data from the DDSN simultaneously, as office use often comes in bursts as a file is read or written.
- some types of usage such as streaming media, require a continuous stream of data.
- Streaming digital media is well known in the art, with Adobe Flash, Windows Media Audio and Video, and QuickTime being well known examples.
- Streaming media is generally served to clients by a streaming media server, which is specified to handle some number of simultaneous streams.
- Media serving platforms use a number of techniques to share streams across multiple streaming media servers, such as round-robin allocation.
- Prior art media serving platforms have not made use of DDSNs, and instead, have utilized individual or shared Redundant Array of Independent Drives (“RAID”) or Storage Area Networks (“SAN”).
- RAID Redundant Array of Independent Drives
- SAN Storage Area Networks
- CDN Content Delivery Networks
- a CDN is a network of computers that cooperate to deliver content to users.
- content is replicated among servers on an as needed basis, so that a server with the most desirable performance characteristics can serve content to a particular client.
- content is replicated to the network so that it is available from a number of geographic locations, based on the assumption that a server located geographically close to a particular client will provide a better quality of service connection, if all else is equal.
- a particular digital media stream will usually provide a specific quality.
- a digital media presentation may be encoded at 720 pixels by 480 pixels, at 30 frames with second, with audio provided as 64 kilobits per second MP3. If quality levels are desired to serve users with less modern hardware or slower network connections, different media presentations will be encoded at the desired quality levels.
- Certain streaming media technologies allow a player to scale the frame rate of streamed video by skipping frames. This may result in “jerky” video, but will still allow a viewer to view the presentation.
- Flexible Block Wavelet encoding allows a streaming media presentation to scale across an arbitrary number of resolutions based on the bandwidth available to a particular client, and the ability of the client to process data.
- Another object of the invention is to provide a system, apparatus, and method for accessing streaming digital media stored by a DDSN in a cross-platform manner.
- Another object of the invention is to provide a system, apparatus, and method for implementing a high-performance streaming digital media player plugin to access streaming digital media stored by a DDSN.
- Another object of the invention is to provide a system, apparatus, and method for accessing streaming digital media stored by a DDSN from a client computer as opposed to from an access computer.
- Another object of the invention is to provide a system, apparatus, and method for accessing streaming digital media stored by a DDSN from a client computer that is resilient to interruptions of network service disabling a portion of the DDSN.
- Another object of the invention is to provide a system, apparatus, and method for accessing streaming digital media stored by a DDSN so that the quality of the presentation scales with the robustness of the DDSN.
- the disclosed invention achieves its objectives by providing a system for streaming a digital media presentation to a client computer from a dispersed data storage network.
- the dispersed data storage network includes a plurality of slice servers each of which may be located in a separate facility.
- the digital media presentation is broken into a plurality of data segments, and each data segment may only be reconstructed by combining data slices from more than one of the plurality of slice servers.
- a client computer such as a personal computer or a cellular telephone, is coupled to a network with access to the dispersed data storage network.
- a dispersed data storage network access component reads data segments from the dispersed data storage network and passes them to a media player operating on the client computer, which presents the streamed digital media presentation to a user.
- both the media player and the dispersed data storage network access component are implemented using a cross platform technology.
- the dispersed data storage network access component may be implemented as a cross platform component and interfaced to the media player with a plugin.
- the plugin may interface with the dispersed data storage network access component using a socket or Java Native Interface.
- the dispersed data storage network component may be implemented as a native component and interfaced to the plugin using static or dynamic linking.
- the streamed digital media presentation may be encoded using a scalable technology, so that as slice servers become unavailable due to network outages or other reasons, the quality of the streamed digital media presentation degrades, but is otherwise still accessible.
- FIG. 1 is a network diagram of a streaming media server streaming data from a dispersed data storage network through an access computer to a client computer;
- FIG. 2 is a network diagram of a client computer accessing digital media stored on a DDSN using a Cross Platform Media Player as well as a Cross Platform DDSN access library;
- FIG. 3 is a network diagram of a client computer accessing digital media stored on a DDSN using a proprietary player linked to a Java DDSN access library using a proprietary format DDSN media client plugin and JNI;
- FIG. 4 is a network diagram of a client computer accessing digital media stored on a DDSN using a proprietary player linked to a Cross Platform DDSN access program using a DDSN media client plugin and a local socket;
- FIG. 5 is a network diagram of a client computer accessing digital media stored on a DDSN using a proprietary player with a media player specific plugin along with a DDSN client library especially suited to the specific platform on which the media player is running;
- FIG. 6 is a network diagram of a client computer accessing digital media stored on a DDSN using a media player communicating with a local DDSN server using a socket or other form of inter-process communication.
- FIG. 1 a client computer accessing a streaming media presentation is depicted.
- This architecture represents the simplest way to serve streaming digital media from a DDSN to a client computer 102 using any type of media player.
- the client computer 102 is coupled to a LAN or the Internet 104 using any type of network technology, such as an Ethernet port or a Wireless Network port.
- a media server 106 contains stream definitions for one or more streaming media presentations.
- the media server is coupled to a LAN or the Internet 108 using any type of network technology. It should be noted that network 104 and network 108 could be the same network or a different network.
- the media server 106 accesses streaming digital media through an access computer 110 from a plurality of slice servers 122 , 124 , 126 coupled to the Internet or some other type of Wide Area Network 112 .
- Access computer 110 such as those available from Cleversafe, Inc., present the DDSN to the streaming media server 106 as a local or networked file system, so no interface software would be required for the streaming media server 106 .
- An example of a refinement that is not depicted would be to integrate the media server 106 with the access computer 110 . This would potentially allow for better performance, as network latency would not slow down communications between the media server and the access computer 110 .
- FIG. 1 would effectively support all prior art streaming media systems. Further, the implemented system would provide for resiliency to network outages across a portion of the DDSN, as access to an arbitrary predetermined number of slice servers 122 , 124 , 126 could be lost and the streaming presentation would still be available to be served to clients. In addition, many of the advantages of a content delivery network would be retained, as a DDSN generally includes geographically dispersed servers. Further, as outlined in U.S. patent application Ser. No. 11/973,622, entitled “SMART ACCESS TO A DISPERSED DATA STORAGE NETWORK,” filed on Oct.
- slice servers holding applicable content would be ranked by various performance criteria to ensure that the accessing client would receive a high quality of service without the replication of content required with a CDN.
- a network failure between the client computer 102 and the streaming media server 106 or between the streaming media server 106 and the access computer 110 would still disable access to the streaming media presentation.
- FIG. 2 depicts an alternate network architecture whereby a client computer 102 executing a cross platform media player 142 interfaces to a DDSN using a cross platform DDSN access library 144 .
- suitable cross platform technologies include Sun's Java and Microsoft's .NET, as well as Tcl, Python, Perl, and Ruby. However, any suitable cross platform technology could be used.
- the client computer 102 directly accesses slice servers 122 , 124 , 126 included within a DDSN through the Internet or another type of Wide Area Network 112 . This architecture provides considerable resiliency to network outages across the DDSN.
- the DDSN is implemented using thirty two separate slice servers, of which twenty four are required to successfully assemble and utilize data, access could be lost to eight slice servers without any noticeable interruption in a streaming media presentation.
- this architecture could also utilize Cleversafe's smart access technology to rank slice servers by various criteria and thereby provide a high quality of service connection to the DDSN.
- a system implementing this approach would provide for better scalability, as computation would be offloaded to individual client computers, and less bandwidth and equipment would be required overall, as the streaming server is eliminated.
- FIG. 3 depicts another network architecture whereby a client computer 102 executing a media player specifically adapted for use on a particular type of system could interface to a DDSN using a client library implemented with Java 144 .
- a proprietary media player 152 include, but are not limited to, Windows Media Player, Real Player, QuickTime, iTunes, and VLC media player.
- a media client plugin 154 interfaces with a proprietary player 152 using an application programming interface developed by the manufacturer of the proprietary player.
- the media client plugin 154 interfaces with a Java DDSN client library 144 using Java Native Interface 148 .
- This implementation would provide similar advantages to the implementation of FIG. 2 , with the additional advantage of working with the most popular media players presently available.
- FIG. 4 depicts another software interface between a DDSN client access program 162 and a proprietary media player 152 .
- a media client plugin 158 interfaces with a proprietary player 152 as in the embodiment depicted in FIG. 3 .
- the media client plugin 158 interfaces with a cross platform DDSN client access program 162 using a socket 160 or some other form of inter-process communications (“IPC”), such as a memory mapped file or mailbox.
- IPC inter-process communications
- FIG. 5 depicts a platform specific interface between a media player 152 and a DDSN using a platform specific DDSN client library 174 .
- media player specific plugin 172 interfaces with a media player 152 and a platform specific DDSN client library 174 .
- the interface could be through any form of static or dynamic linking between platform specific compiled software.
- platform specific only refers to the fact that the referenced software is compiled for a specific platform, even though the code base could be more or less identical between different platforms.
- the client computer and its media player directly stream digital media from slice servers 122 , 124 , 126 through the Internet 112 or some other Wide Area Network.
- This implementation would provide all of the advantages of the implementation of FIG. 3 , with the additional advantage of providing the best performance of any implementation.
- a different plugin 172 and a different DDSN client library 174 would be required for each supported platform.
- FIG. 6 depicts a direct inter-process communication link, such as a socket, between any media player 152 and a local DDSN server 178 .
- the media player 152 could be a platform specific media player or a cross platform media player.
- the local DDSN server 178 could also be a cross-platform DDSN server or a platform specific DDSN server.
- the specific media player 152 opens an inter-process communication link, such as a socket, to the local DDSN server 178 , which then acts as a relay to pull content from slice servers 122 , 124 , 126 through the Internet or some other Wide Area Network.
- a local server can act as an intermediary by pulling data from the DDSN and passing it to the media player through an appropriate mechanism.
- This implementation provides an elegant solution to interfacing a media players to a DDSN while only providing a slight amount of additional overhead when compared to the solution of FIG. 5 , and retaining all of the advantages of FIGS. 2-4 .
- FIGS. 2-6 all describe streaming media systems whereby a client directly accesses a DDSN for streaming media.
- one advantage of this architecture is resiliency to potentially large scale network outages.
- Another potential advantage requires a change in the streaming media technology itself.
- a scalable streaming media technology such as Flexible Block Wavelets
- an arbitrarily scalable and reliable streaming media system can be realized. For example, if a thirty two slice server DDSN is implemented, the system may serve streaming media presentations at a quality of 1920 pixels by 1080 pixels at 60 frames per second if twenty four or more slice servers can be accessed. However, if sixteen to twenty three slice servers can be accessed, the quality may be reduced to 1280 pixels by 1080 pixels at 30 frames per second.
- the quality may be reduced to 1280 pixels by 720 pixels at 30 frames per second. Finally, if between eight and eleven slice servers may be accessed, the quality may be further reduced to 1024 pixels by 768 pixels at fifteen frames per second. It should be understood that a system could be tailored to provide any level of quality with any number of slice servers available. It should also be understood that, while the examples addressed the scaling of video quality, similar techniques could be used to scale the quality of audio.
- the segmentation process employed by the DDSN can be adapted to provide better performance for streaming video.
- the data segments including data from the beginning of the streaming media presentation can be encoded as smaller segments than those later in the streaming media presentation. This will allow a stream to begin presentation quicker.
- a wireless mobile unit such as a cellular telephone
- a wireless mobile unit could implement any of the embodiments described by FIGS. 1-5 .
- a BREW compliant player could interface with a DDSN access library to stream digital media to a cellular telephone. All such systems would fall within the definition of client computer as used above.
- streaming has been used throughout, it should also be understood that the disclosed invention could apply to a progressive download system equally well.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
- This application is related to the following co-pending applications, all of which are assigned to Cleversafe, Inc. of Chicago, Ill. and are hereby incorporated by reference: Ser. Nos. 11/973,613, 11/973,622, 11/973,542, 11/973,621, 11/241,555, 11/403,684, 11/404,071, 11/403,391, and 12/080,042, as well as the application entitled FILE SYSTEM ADAPTED FOR USE WITH A DISPERSED DATA STORAGE NETWORK, filed on Jul. 11, 2008 by inventors Srinivas Palthepu, Andrew Baptist, Bart Cilfone, Vance Thornton, Greg Dhuse, Ilya Volvolski, Jason Resch, John Quigley, S. Christopher Gladwin, and Zachary Mark, all of Cleversafe, Inc. of Chicago, Ill.
- This application incorporates by reference the following source code files submitted on a compact disc along with this application:
- The present invention relates generally to systems, apparatus, and methods for distributed data storage, and more particularly to systems, apparatus, and methods for distributed data storage using an information dispersal algorithm so that no one location will store an entire copy of stored data, and more particularly still to systems, apparatus, and methods for interfacing a media player application to a dispersed data storage network.
- Dispersed data storage networks (“DDSNs”) store data as an arbitrary number of data slices, generally with each data slice being stored on a separate slice server. Before a collection of data is stored it is segmented into a number of data segments, which may be of fixed or variable sizes. Each data segment is then sliced into a predetermined arbitrary number of data slices. Each data slice will generally contain minimal or no usable information by itself, but instead, must be combined with other data slices to reconstruct a usable data segment. DDSNs offer a number of advantages over traditional storage solutions including greater security and reliability.
- Prior art DDSN systems, such as those offered by Cleversafe, Inc. of Chicago, Ill., have generally used an access computer, sometimes referred to as a Grid Access Computer or an Accesser™. The access computer is generally a high-performance server adapted to provide DDSN access to a large number of clients, such as an office of 20 or more users. Generally, the access computer does not have to be specified to handle the worst case scenario of each client computer accessing a maximum amount of data from the DDSN simultaneously, as office use often comes in bursts as a file is read or written. However, some types of usage, such as streaming media, require a continuous stream of data.
- Streaming digital media is well known in the art, with Adobe Flash, Windows Media Audio and Video, and QuickTime being well known examples. Streaming media is generally served to clients by a streaming media server, which is specified to handle some number of simultaneous streams. Media serving platforms use a number of techniques to share streams across multiple streaming media servers, such as round-robin allocation. Prior art media serving platforms have not made use of DDSNs, and instead, have utilized individual or shared Redundant Array of Independent Drives (“RAID”) or Storage Area Networks (“SAN”).
- One technique used by media providers to improve reliability and quality of service for streaming digital media presentations is the use of Content Delivery Networks (“CDNs”). A CDN is a network of computers that cooperate to deliver content to users. Generally, content is replicated among servers on an as needed basis, so that a server with the most desirable performance characteristics can serve content to a particular client. Often, content is replicated to the network so that it is available from a number of geographic locations, based on the assumption that a server located geographically close to a particular client will provide a better quality of service connection, if all else is equal.
- A particular digital media stream will usually provide a specific quality. For example, a digital media presentation may be encoded at 720 pixels by 480 pixels, at 30 frames with second, with audio provided as 64 kilobits per second MP3. If quality levels are desired to serve users with less modern hardware or slower network connections, different media presentations will be encoded at the desired quality levels. Certain streaming media technologies allow a player to scale the frame rate of streamed video by skipping frames. This may result in “jerky” video, but will still allow a viewer to view the presentation.
- More recent advances in encoding technology allow a single presentation to scale across a number of quality levels. For example, Flexible Block Wavelet encoding allows a streaming media presentation to scale across an arbitrary number of resolutions based on the bandwidth available to a particular client, and the ability of the client to process data.
- Accordingly, it is an object of this invention to provide a system, apparatus, and method for accessing streaming digital media stored by a DDSN.
- Another object of the invention is to provide a system, apparatus, and method for accessing streaming digital media stored by a DDSN in a cross-platform manner.
- Another object of the invention is to provide a system, apparatus, and method for implementing a high-performance streaming digital media player plugin to access streaming digital media stored by a DDSN.
- Another object of the invention is to provide a system, apparatus, and method for accessing streaming digital media stored by a DDSN from a client computer as opposed to from an access computer.
- Another object of the invention is to provide a system, apparatus, and method for accessing streaming digital media stored by a DDSN from a client computer that is resilient to interruptions of network service disabling a portion of the DDSN.
- Another object of the invention is to provide a system, apparatus, and method for accessing streaming digital media stored by a DDSN so that the quality of the presentation scales with the robustness of the DDSN.
- Other advantages of the disclosed invention will be clear to a person of ordinary skill in the art. It should be understood, however, that a system, method, or apparatus could practice the disclosed invention while not achieving all of the enumerated advantages, and that the protected invention is defined by the claims.
- The disclosed invention achieves its objectives by providing a system for streaming a digital media presentation to a client computer from a dispersed data storage network. The dispersed data storage network includes a plurality of slice servers each of which may be located in a separate facility. The digital media presentation is broken into a plurality of data segments, and each data segment may only be reconstructed by combining data slices from more than one of the plurality of slice servers. Within the system, a client computer, such as a personal computer or a cellular telephone, is coupled to a network with access to the dispersed data storage network. A dispersed data storage network access component reads data segments from the dispersed data storage network and passes them to a media player operating on the client computer, which presents the streamed digital media presentation to a user.
- In one embodiment, both the media player and the dispersed data storage network access component are implemented using a cross platform technology. Where this is not possible, the dispersed data storage network access component may be implemented as a cross platform component and interfaced to the media player with a plugin. The plugin may interface with the dispersed data storage network access component using a socket or Java Native Interface. Alternatively, the dispersed data storage network component may be implemented as a native component and interfaced to the plugin using static or dynamic linking.
- In a further embodiment, the streamed digital media presentation may be encoded using a scalable technology, so that as slice servers become unavailable due to network outages or other reasons, the quality of the streamed digital media presentation degrades, but is otherwise still accessible.
- Although the characteristic features of this invention will be particularly pointed out in the claims, the invention itself, and the manner in which it may be made and used, may be better understood by referring to the following description taken in connection with the accompanying drawings forming a part hereof, wherein like reference numerals refer to like parts throughout the several views and in which:
-
FIG. 1 is a network diagram of a streaming media server streaming data from a dispersed data storage network through an access computer to a client computer; -
FIG. 2 is a network diagram of a client computer accessing digital media stored on a DDSN using a Cross Platform Media Player as well as a Cross Platform DDSN access library; -
FIG. 3 is a network diagram of a client computer accessing digital media stored on a DDSN using a proprietary player linked to a Java DDSN access library using a proprietary format DDSN media client plugin and JNI; -
FIG. 4 is a network diagram of a client computer accessing digital media stored on a DDSN using a proprietary player linked to a Cross Platform DDSN access program using a DDSN media client plugin and a local socket; -
FIG. 5 is a network diagram of a client computer accessing digital media stored on a DDSN using a proprietary player with a media player specific plugin along with a DDSN client library especially suited to the specific platform on which the media player is running; and -
FIG. 6 is a network diagram of a client computer accessing digital media stored on a DDSN using a media player communicating with a local DDSN server using a socket or other form of inter-process communication. - Turning to the Figures, and to
FIG. 1 in particular, a client computer accessing a streaming media presentation is depicted. This architecture represents the simplest way to serve streaming digital media from a DDSN to aclient computer 102 using any type of media player. Theclient computer 102 is coupled to a LAN or the Internet 104 using any type of network technology, such as an Ethernet port or a Wireless Network port. Amedia server 106 contains stream definitions for one or more streaming media presentations. The media server is coupled to a LAN or theInternet 108 using any type of network technology. It should be noted thatnetwork 104 andnetwork 108 could be the same network or a different network. Themedia server 106 accesses streaming digital media through anaccess computer 110 from a plurality ofslice servers Wide Area Network 112.Access computer 110, such as those available from Cleversafe, Inc., present the DDSN to thestreaming media server 106 as a local or networked file system, so no interface software would be required for thestreaming media server 106. An example of a refinement that is not depicted would be to integrate themedia server 106 with theaccess computer 110. This would potentially allow for better performance, as network latency would not slow down communications between the media server and theaccess computer 110. - The approach of
FIG. 1 would effectively support all prior art streaming media systems. Further, the implemented system would provide for resiliency to network outages across a portion of the DDSN, as access to an arbitrary predetermined number ofslice servers client computer 102 and thestreaming media server 106 or between the streamingmedia server 106 and theaccess computer 110 would still disable access to the streaming media presentation. -
FIG. 2 depicts an alternate network architecture whereby aclient computer 102 executing a crossplatform media player 142 interfaces to a DDSN using a cross platformDDSN access library 144. Examples of suitable cross platform technologies include Sun's Java and Microsoft's .NET, as well as Tcl, Python, Perl, and Ruby. However, any suitable cross platform technology could be used. In this architecture, theclient computer 102 directly accessesslice servers Wide Area Network 112. This architecture provides considerable resiliency to network outages across the DDSN. For example, if the DDSN is implemented using thirty two separate slice servers, of which twenty four are required to successfully assemble and utilize data, access could be lost to eight slice servers without any noticeable interruption in a streaming media presentation. Also, as eachclient computer 102 is responsible for streaming its own data, the expense of a separate access computer can be saved. In addition, this architecture could also utilize Cleversafe's smart access technology to rank slice servers by various criteria and thereby provide a high quality of service connection to the DDSN. Moreover, a system implementing this approach would provide for better scalability, as computation would be offloaded to individual client computers, and less bandwidth and equipment would be required overall, as the streaming server is eliminated. -
FIG. 3 depicts another network architecture whereby aclient computer 102 executing a media player specifically adapted for use on a particular type of system could interface to a DDSN using a client library implemented withJava 144. Examples of aproprietary media player 152 include, but are not limited to, Windows Media Player, Real Player, QuickTime, iTunes, and VLC media player. Amedia client plugin 154 interfaces with aproprietary player 152 using an application programming interface developed by the manufacturer of the proprietary player. Themedia client plugin 154 interfaces with a JavaDDSN client library 144 using JavaNative Interface 148. This implementation would provide similar advantages to the implementation ofFIG. 2 , with the additional advantage of working with the most popular media players presently available. -
FIG. 4 depicts another software interface between a DDSNclient access program 162 and aproprietary media player 152. In this case amedia client plugin 158 interfaces with aproprietary player 152 as in the embodiment depicted inFIG. 3 . However, themedia client plugin 158 interfaces with a cross platform DDSNclient access program 162 using asocket 160 or some other form of inter-process communications (“IPC”), such as a memory mapped file or mailbox. This implementation provides similar advantages to the implementation ofFIG. 3 without being tied to the use of Java and JNI, but instead, allowing for the use of any cross platform technology. -
FIG. 5 depicts a platform specific interface between amedia player 152 and a DDSN using a platform specificDDSN client library 174. In this implementation media playerspecific plugin 172 interfaces with amedia player 152 and a platform specificDDSN client library 174. The interface could be through any form of static or dynamic linking between platform specific compiled software. Further, it should be understood that platform specific only refers to the fact that the referenced software is compiled for a specific platform, even though the code base could be more or less identical between different platforms. As in the implementations ofFIGS. 2 through 4 , the client computer and its media player directly stream digital media fromslice servers Internet 112 or some other Wide Area Network. This implementation would provide all of the advantages of the implementation ofFIG. 3 , with the additional advantage of providing the best performance of any implementation. However, adifferent plugin 172 and a differentDDSN client library 174 would be required for each supported platform. -
FIG. 6 depicts a direct inter-process communication link, such as a socket, between anymedia player 152 and alocal DDSN server 178. Themedia player 152 could be a platform specific media player or a cross platform media player. Thelocal DDSN server 178 could also be a cross-platform DDSN server or a platform specific DDSN server. Thespecific media player 152 opens an inter-process communication link, such as a socket, to thelocal DDSN server 178, which then acts as a relay to pull content fromslice servers FIG. 5 , and retaining all of the advantages ofFIGS. 2-4 . -
FIGS. 2-6 all describe streaming media systems whereby a client directly accesses a DDSN for streaming media. As described, one advantage of this architecture is resiliency to potentially large scale network outages. Another potential advantage requires a change in the streaming media technology itself. When combined with a scalable streaming media technology, such as Flexible Block Wavelets, an arbitrarily scalable and reliable streaming media system can be realized. For example, if a thirty two slice server DDSN is implemented, the system may serve streaming media presentations at a quality of 1920 pixels by 1080 pixels at 60 frames per second if twenty four or more slice servers can be accessed. However, if sixteen to twenty three slice servers can be accessed, the quality may be reduced to 1280 pixels by 1080 pixels at 30 frames per second. Further, if twelve to fifteen slice servers can be accessed the quality may be reduced to 1280 pixels by 720 pixels at 30 frames per second. Finally, if between eight and eleven slice servers may be accessed, the quality may be further reduced to 1024 pixels by 768 pixels at fifteen frames per second. It should be understood that a system could be tailored to provide any level of quality with any number of slice servers available. It should also be understood that, while the examples addressed the scaling of video quality, similar techniques could be used to scale the quality of audio. - In addition, the segmentation process employed by the DDSN can be adapted to provide better performance for streaming video. Specifically, the data segments including data from the beginning of the streaming media presentation can be encoded as smaller segments than those later in the streaming media presentation. This will allow a stream to begin presentation quicker.
- It should be understood that while this invention has been explained in the context of a software operating on a personal computer system, it could be implemented on a variety of different platforms. For example, a wireless mobile unit, such as a cellular telephone, could implement any of the embodiments described by
FIGS. 1-5 . For example, a BREW compliant player could interface with a DDSN access library to stream digital media to a cellular telephone. All such systems would fall within the definition of client computer as used above. Furthermore, while the term streaming has been used throughout, it should also be understood that the disclosed invention could apply to a progressive download system equally well. - The foregoing description of the invention has been presented for purposes of illustration and description, and is not intended to be exhaustive or to limit the invention to the precise form disclosed. The description was selected to best explain the principles of the invention and practical application of these principles to enable others skilled in the art to best utilize the invention in various embodiments and various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention not be limited by the specification, but be defined by the claims set forth below.
Claims (8)
Priority Applications (23)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/218,594 US7962641B1 (en) | 2005-09-30 | 2008-07-16 | Streaming media software interface to a dispersed data storage network |
PCT/US2009/050203 WO2010009009A1 (en) | 2008-07-16 | 2009-07-10 | Streaming media software interface to a dispersed data storage network |
US12/749,592 US8938591B2 (en) | 2005-09-30 | 2010-03-30 | Dispersed storage processing unit and methods with data aggregation for use in a dispersed storage system |
US12/839,209 US8819011B2 (en) | 2008-07-16 | 2010-07-19 | Command line interpreter for accessing a data object stored in a distributed storage network |
US12/839,220 US8630987B2 (en) | 2008-07-16 | 2010-07-19 | System and method for accessing a data object stored in a distributed storage network |
US13/097,305 US9026758B2 (en) | 2005-09-30 | 2011-04-29 | Memory device utilization in a dispersed storage network |
US13/107,040 US8694668B2 (en) | 2005-09-30 | 2011-05-13 | Streaming media software interface to a dispersed data storage network |
US14/142,206 US9378091B2 (en) | 2008-07-16 | 2013-12-27 | System and method for accessing a data object stored in a distributed storage network |
US14/338,504 US9411818B2 (en) | 2008-07-16 | 2014-07-23 | Command line interpreter for accessing a data object stored in a distributed storage network |
US14/447,890 US10360180B2 (en) | 2005-09-30 | 2014-07-31 | Digest listing decomposition |
US15/230,108 US9858143B2 (en) | 2008-07-16 | 2016-08-05 | Command line interpreter for accessing a data object stored in a distributed storage network |
US15/362,180 US10938418B2 (en) | 2005-09-30 | 2016-11-28 | Online disk replacement/removal |
US16/390,530 US11194662B2 (en) | 2005-09-30 | 2019-04-22 | Digest listing decomposition |
US16/988,135 US11416339B1 (en) | 2005-09-30 | 2020-08-07 | Validating requests based on stored vault information |
US16/951,253 US11474903B1 (en) | 2005-09-30 | 2020-11-18 | Rebuilding of encoded data slices using locally decodable code segments |
US17/163,824 US11909418B1 (en) | 2005-09-30 | 2021-02-01 | Access authentication in a dispersed storage network |
US17/362,251 US11340988B2 (en) | 2005-09-30 | 2021-06-29 | Generating integrity information in a vast storage system |
US17/645,563 US12061519B2 (en) | 2005-09-30 | 2021-12-22 | Reconstructing data segments in a storage network and methods for use therewith |
US17/743,717 US11544146B2 (en) | 2005-09-30 | 2022-05-13 | Utilizing integrity information in a vast storage system |
US17/817,464 US20220382634A1 (en) | 2005-09-30 | 2022-08-04 | Storage Unit Validating Requests for a Storage Vault |
US17/931,159 US20230081087A1 (en) | 2005-09-30 | 2022-09-12 | Recovering a Data Segment Using Locally Decodable Code Segments |
US18/059,833 US11755413B2 (en) | 2005-09-30 | 2022-11-29 | Utilizing integrity information to determine corruption in a vast storage system |
US18/363,179 US20230376380A1 (en) | 2005-09-30 | 2023-08-01 | Generating Multiple Sets of Integrity Information in a Vast Storage System |
Applications Claiming Priority (11)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/241,555 US7953937B2 (en) | 2005-09-30 | 2005-09-30 | Systems, methods, and apparatus for subdividing data for storage in a dispersed data storage grid |
US11/403,391 US7546427B2 (en) | 2005-09-30 | 2006-04-13 | System for rebuilding dispersed data |
US11/404,071 US7574579B2 (en) | 2005-09-30 | 2006-04-13 | Metadata management system for an information dispersed storage system |
US11/403,684 US7574570B2 (en) | 2005-09-30 | 2006-04-13 | Billing system for information dispersal system |
US11/973,621 US7904475B2 (en) | 2007-10-09 | 2007-10-09 | Virtualized data storage vaults on a dispersed data storage network |
US11/973,613 US8285878B2 (en) | 2007-10-09 | 2007-10-09 | Block based access to a dispersed data storage network |
US11/973,542 US9996413B2 (en) | 2007-10-09 | 2007-10-09 | Ensuring data integrity on a dispersed storage grid |
US11/973,622 US8171101B2 (en) | 2005-09-30 | 2007-10-09 | Smart access to a dispersed data storage network |
US12/080,042 US8880799B2 (en) | 2005-09-30 | 2008-03-31 | Rebuilding data on a dispersed storage network |
US12/218,200 US8209363B2 (en) | 2007-10-09 | 2008-07-14 | File system adapted for use with a dispersed data storage network |
US12/218,594 US7962641B1 (en) | 2005-09-30 | 2008-07-16 | Streaming media software interface to a dispersed data storage network |
Related Parent Applications (10)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/241,555 Continuation-In-Part US7953937B2 (en) | 2005-09-30 | 2005-09-30 | Systems, methods, and apparatus for subdividing data for storage in a dispersed data storage grid |
US11/403,684 Continuation-In-Part US7574570B2 (en) | 2005-09-30 | 2006-04-13 | Billing system for information dispersal system |
US11/404,071 Continuation-In-Part US7574579B2 (en) | 2005-09-30 | 2006-04-13 | Metadata management system for an information dispersed storage system |
US11/403,391 Continuation-In-Part US7546427B2 (en) | 2005-09-30 | 2006-04-13 | System for rebuilding dispersed data |
US11/973,622 Continuation-In-Part US8171101B2 (en) | 2005-09-30 | 2007-10-09 | Smart access to a dispersed data storage network |
US11/973,621 Continuation-In-Part US7904475B2 (en) | 2005-09-30 | 2007-10-09 | Virtualized data storage vaults on a dispersed data storage network |
US11/973,613 Continuation-In-Part US8285878B2 (en) | 2005-09-30 | 2007-10-09 | Block based access to a dispersed data storage network |
US11/973,542 Continuation-In-Part US9996413B2 (en) | 2005-09-30 | 2007-10-09 | Ensuring data integrity on a dispersed storage grid |
US12/080,042 Continuation-In-Part US8880799B2 (en) | 2005-09-30 | 2008-03-31 | Rebuilding data on a dispersed storage network |
US12/218,200 Continuation-In-Part US8209363B2 (en) | 2005-09-30 | 2008-07-14 | File system adapted for use with a dispersed data storage network |
Related Child Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/749,592 Continuation-In-Part US8938591B2 (en) | 2005-09-30 | 2010-03-30 | Dispersed storage processing unit and methods with data aggregation for use in a dispersed storage system |
US12/839,209 Continuation-In-Part US8819011B2 (en) | 2008-07-16 | 2010-07-19 | Command line interpreter for accessing a data object stored in a distributed storage network |
US12/839,220 Continuation-In-Part US8630987B2 (en) | 2008-07-16 | 2010-07-19 | System and method for accessing a data object stored in a distributed storage network |
US13/097,305 Continuation-In-Part US9026758B2 (en) | 2005-09-30 | 2011-04-29 | Memory device utilization in a dispersed storage network |
US13/107,040 Continuation-In-Part US8694668B2 (en) | 2005-09-30 | 2011-05-13 | Streaming media software interface to a dispersed data storage network |
US13/154,725 Continuation-In-Part US10289688B2 (en) | 2005-09-30 | 2011-06-07 | Metadata access in a dispersed storage network |
Publications (3)
Publication Number | Publication Date |
---|---|
US20100017531A1 US20100017531A1 (en) | 2010-01-21 |
US20110125916A9 true US20110125916A9 (en) | 2011-05-26 |
US7962641B1 US7962641B1 (en) | 2011-06-14 |
Family
ID=41531262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/218,594 Active 2026-05-25 US7962641B1 (en) | 2005-09-30 | 2008-07-16 | Streaming media software interface to a dispersed data storage network |
Country Status (2)
Country | Link |
---|---|
US (1) | US7962641B1 (en) |
WO (1) | WO2010009009A1 (en) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110246657A1 (en) * | 2010-04-01 | 2011-10-06 | Andy Glow | Real-time media delivery with automatic catch-up |
US8327141B2 (en) | 2009-02-05 | 2012-12-04 | Wwpass Corporation | Centralized authentication system with safe private data storage and method |
US8555079B2 (en) | 2011-12-06 | 2013-10-08 | Wwpass Corporation | Token management |
US8656180B2 (en) | 2011-12-06 | 2014-02-18 | Wwpass Corporation | Token activation |
US8706802B1 (en) * | 2009-11-24 | 2014-04-22 | Google Inc. | Latency-guided web content retrieval, serving, and rendering |
US8713661B2 (en) | 2009-02-05 | 2014-04-29 | Wwpass Corporation | Authentication service |
US8752153B2 (en) | 2009-02-05 | 2014-06-10 | Wwpass Corporation | Accessing data based on authenticated user, provider and system |
US8751829B2 (en) | 2009-02-05 | 2014-06-10 | Wwpass Corporation | Dispersed secure data storage and retrieval |
US8839391B2 (en) | 2009-02-05 | 2014-09-16 | Wwpass Corporation | Single token authentication |
US8972719B2 (en) | 2011-12-06 | 2015-03-03 | Wwpass Corporation | Passcode restoration |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12061519B2 (en) | 2005-09-30 | 2024-08-13 | Purage Storage, Inc. | Reconstructing data segments in a storage network and methods for use therewith |
US11416339B1 (en) | 2005-09-30 | 2022-08-16 | Pure Storage, Inc. | Validating requests based on stored vault information |
US11340988B2 (en) | 2005-09-30 | 2022-05-24 | Pure Storage, Inc. | Generating integrity information in a vast storage system |
US8401183B2 (en) * | 2007-12-27 | 2013-03-19 | Verizon Patent And Licensing Inc. | Method and system for keying and securely storing data |
US8402344B2 (en) * | 2009-10-05 | 2013-03-19 | Cleversafe, Inc. | Method and apparatus for controlling dispersed storage of streaming data |
US10447767B2 (en) | 2010-04-26 | 2019-10-15 | Pure Storage, Inc. | Resolving a performance issue within a dispersed storage network |
US9495117B2 (en) | 2010-04-26 | 2016-11-15 | International Business Machines Corporation | Storing data in a dispersed storage network |
US8625635B2 (en) | 2010-04-26 | 2014-01-07 | Cleversafe, Inc. | Dispersed storage network frame protocol header |
US8621269B2 (en) | 2010-06-22 | 2013-12-31 | Cleversafe, Inc. | Identifying a slice name information error in a dispersed storage network |
WO2013100917A1 (en) | 2011-12-27 | 2013-07-04 | Intel Corporation | Optical transmission of test data for testing integrated circuits |
US9811533B2 (en) * | 2012-12-05 | 2017-11-07 | International Business Machines Corporation | Accessing distributed computing functions in a distributed computing system |
US10558621B2 (en) | 2012-12-05 | 2020-02-11 | Pure Storage, Inc. | Lock stealing writes for improved reliability |
US9900316B2 (en) * | 2013-12-04 | 2018-02-20 | International Business Machines Corporation | Accessing storage units of a dispersed storage network |
US10387248B2 (en) * | 2016-03-29 | 2019-08-20 | International Business Machines Corporation | Allocating data for storage by utilizing a location-based hierarchy in a dispersed storage network |
CN111565168B (en) * | 2020-03-02 | 2023-05-23 | 杭州云毅网络科技有限公司 | Object storage method, system, storage medium and electronic equipment |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5582859A (en) * | 1994-11-08 | 1996-12-10 | Chunghwa Picture Tubes, Ltd. | Multilayer antireflective coating for video display panel |
US6248946B1 (en) * | 2000-03-01 | 2001-06-19 | Ijockey, Inc. | Multimedia content delivery system and method |
US20020018886A1 (en) * | 2000-02-23 | 2002-02-14 | Akihiro Matsufuji | Hard coat film and display device having same |
US20020090507A1 (en) * | 2000-11-14 | 2002-07-11 | Barth Steven A. | Optically active film composite |
US20020122925A1 (en) * | 2000-08-07 | 2002-09-05 | Liu Junkang J. | Information display protectors |
US20030037261A1 (en) * | 2001-03-26 | 2003-02-20 | Ilumin Corporation | Secured content delivery system and method |
US20030068486A1 (en) * | 2001-09-11 | 2003-04-10 | Arney David S. | Smudge resistant nanocomposite hardcoats and methods for making same |
US20050100022A1 (en) * | 2003-11-12 | 2005-05-12 | Ramprashad Sean A. | Media delivery using quality of service differentiation within a media stream |
US20070079082A1 (en) * | 2005-09-30 | 2007-04-05 | Gladwin S C | System for rebuilding dispersed data |
US20070136311A1 (en) * | 2005-11-29 | 2007-06-14 | Ebay Inc. | Method and system for reducing connections to a database |
US20070283167A1 (en) * | 2003-03-13 | 2007-12-06 | Venters Carl V Iii | Secure streaming container |
US7693992B2 (en) * | 2000-06-14 | 2010-04-06 | Disney Enterprises, Inc. | Technique for providing access to data |
US7747921B2 (en) * | 2005-08-05 | 2010-06-29 | Sony Corporation | Systems and methods for transmitting data over lossy networks |
US7904475B2 (en) * | 2007-10-09 | 2011-03-08 | Cleversafe, Inc. | Virtualized data storage vaults on a dispersed data storage network |
-
2008
- 2008-07-16 US US12/218,594 patent/US7962641B1/en active Active
-
2009
- 2009-07-10 WO PCT/US2009/050203 patent/WO2010009009A1/en active Application Filing
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5582859A (en) * | 1994-11-08 | 1996-12-10 | Chunghwa Picture Tubes, Ltd. | Multilayer antireflective coating for video display panel |
US20020018886A1 (en) * | 2000-02-23 | 2002-02-14 | Akihiro Matsufuji | Hard coat film and display device having same |
US6248946B1 (en) * | 2000-03-01 | 2001-06-19 | Ijockey, Inc. | Multimedia content delivery system and method |
US7693992B2 (en) * | 2000-06-14 | 2010-04-06 | Disney Enterprises, Inc. | Technique for providing access to data |
US20020122925A1 (en) * | 2000-08-07 | 2002-09-05 | Liu Junkang J. | Information display protectors |
US20020090507A1 (en) * | 2000-11-14 | 2002-07-11 | Barth Steven A. | Optically active film composite |
US20030037261A1 (en) * | 2001-03-26 | 2003-02-20 | Ilumin Corporation | Secured content delivery system and method |
US20030068486A1 (en) * | 2001-09-11 | 2003-04-10 | Arney David S. | Smudge resistant nanocomposite hardcoats and methods for making same |
US20070283167A1 (en) * | 2003-03-13 | 2007-12-06 | Venters Carl V Iii | Secure streaming container |
US20050100022A1 (en) * | 2003-11-12 | 2005-05-12 | Ramprashad Sean A. | Media delivery using quality of service differentiation within a media stream |
US7747921B2 (en) * | 2005-08-05 | 2010-06-29 | Sony Corporation | Systems and methods for transmitting data over lossy networks |
US20070079082A1 (en) * | 2005-09-30 | 2007-04-05 | Gladwin S C | System for rebuilding dispersed data |
US20070136311A1 (en) * | 2005-11-29 | 2007-06-14 | Ebay Inc. | Method and system for reducing connections to a database |
US7904475B2 (en) * | 2007-10-09 | 2011-03-08 | Cleversafe, Inc. | Virtualized data storage vaults on a dispersed data storage network |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8826019B2 (en) | 2009-02-05 | 2014-09-02 | Wwpass Corporation | Centralized authentication system with safe private data storage and method |
US8327141B2 (en) | 2009-02-05 | 2012-12-04 | Wwpass Corporation | Centralized authentication system with safe private data storage and method |
US8713661B2 (en) | 2009-02-05 | 2014-04-29 | Wwpass Corporation | Authentication service |
US8752153B2 (en) | 2009-02-05 | 2014-06-10 | Wwpass Corporation | Accessing data based on authenticated user, provider and system |
US8751829B2 (en) | 2009-02-05 | 2014-06-10 | Wwpass Corporation | Dispersed secure data storage and retrieval |
US8839391B2 (en) | 2009-02-05 | 2014-09-16 | Wwpass Corporation | Single token authentication |
US8706802B1 (en) * | 2009-11-24 | 2014-04-22 | Google Inc. | Latency-guided web content retrieval, serving, and rendering |
US9247028B1 (en) | 2009-11-24 | 2016-01-26 | Google Inc. | Latency-guided web content retrieval, serving, and rendering |
US8402155B2 (en) * | 2010-04-01 | 2013-03-19 | Xcira, Inc. | Real-time media delivery with automatic catch-up |
US20110246657A1 (en) * | 2010-04-01 | 2011-10-06 | Andy Glow | Real-time media delivery with automatic catch-up |
US8555079B2 (en) | 2011-12-06 | 2013-10-08 | Wwpass Corporation | Token management |
US8656180B2 (en) | 2011-12-06 | 2014-02-18 | Wwpass Corporation | Token activation |
US8972719B2 (en) | 2011-12-06 | 2015-03-03 | Wwpass Corporation | Passcode restoration |
Also Published As
Publication number | Publication date |
---|---|
US7962641B1 (en) | 2011-06-14 |
WO2010009009A1 (en) | 2010-01-21 |
US20100017531A1 (en) | 2010-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7962641B1 (en) | Streaming media software interface to a dispersed data storage network | |
US8694668B2 (en) | Streaming media software interface to a dispersed data storage network | |
US7085843B2 (en) | Method and system for data layout and replacement in distributed streaming caches on a network | |
US8479242B1 (en) | Video storage and distribution | |
US8166186B2 (en) | Content distribution method, program, and information processing apparatus | |
Chen et al. | Segment-based proxy caching for internet streaming media delivery | |
Reisslein et al. | Interactive video streaming with proxy servers | |
US9712850B2 (en) | Dynamic maintenance and distribution of video content on content delivery networks | |
US20100049867A1 (en) | On demand peer-to-peer video streaming with multiple description coding | |
US8086750B2 (en) | Method and system for delivering content over a network | |
JP2008516477A (en) | Video compression system | |
WO2014159570A1 (en) | Network coded storage with multi-resolution codes | |
US20030154246A1 (en) | Server for storing files | |
US20140129680A1 (en) | Socket communication apparatus and method | |
US9665646B1 (en) | Method and system for providing bit rate adaptaion to video files having metadata | |
US9866623B2 (en) | System and method for optimizing inter-node communication in content distribution network | |
CN107645475B (en) | File resource distribution system and method in heterogeneous network | |
US20090089433A1 (en) | Media-on-demand network, and a method of storing a media asset in a streaming node of the network | |
Korkea-aho | Scalability in Distributed Multimedia Systems | |
US20040179608A1 (en) | Multiple-description coding methods and apparatus | |
GB2441577A (en) | Video server using FPGA streamers with control GPU and memory wherein video data segments are chained with play, FF and rewind pointers | |
US20200186849A1 (en) | Method and system for reducing drop-outs during video stream playback | |
Teixeira et al. | Adaptive Streaming Playback Statistics Dataset | |
KR100797389B1 (en) | The cluster based streaming system and method using multiple description coding | |
Pradhan et al. | Adaptive multimedia content delivery for scalable web servers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: CLEVERSAFE, INC.,ILLINOIS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DHUSE, GREG;GLADWIN, S. CHRISTOPHER;REEL/FRAME:021300/0089 Effective date: 20080709 Owner name: CLEVERSAFE, INC., ILLINOIS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DHUSE, GREG;GLADWIN, S. CHRISTOPHER;REEL/FRAME:021300/0089 Effective date: 20080709 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: SILICON VALLEY BANK, ILLINOIS Free format text: SECURITY AGREEMENT;ASSIGNOR:CLEVERSAFE, INC.;REEL/FRAME:027046/0203 Effective date: 20111006 |
|
AS | Assignment |
Owner name: CLEVERSAFE, INC., ILLINOIS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:SILICON VALLEY BANK;REEL/FRAME:031058/0255 Effective date: 20130528 |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CLEVERSAFE, INC.;REEL/FRAME:038687/0596 Effective date: 20160405 |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.) |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
AS | Assignment |
Owner name: PURE STORAGE, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:049556/0012 Effective date: 20190611 |
|
AS | Assignment |
Owner name: PURE STORAGE, INC., CALIFORNIA Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE 9992063 AND 10334045 LISTED IN ERROR PREVIOUSLY RECORDED ON REEL 049556 FRAME 0012. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNOR HEREBY CONFIRMS THE ASSIGNMENT;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:052205/0705 Effective date: 20190611 |
|
AS | Assignment |
Owner name: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT, NEW YORK Free format text: SECURITY INTEREST;ASSIGNOR:PURE STORAGE, INC.;REEL/FRAME:053867/0581 Effective date: 20200824 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |