IP Library Granted Patent US 8,775,662
Granted Patent B2
US 8,775,662 · App. 11/535,765 · Granted Jul 8, 2014

System and method for progressive delivery of multimedia objects

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,775,662
App. No.
11/535,765
Granted
Jul 8, 2014
Kind
B2
Abstract

The present disclosure relates to methods and systems for progressively delivering multimedia content over a network. According to one aspect, a system for delivering multimedia content through a network includes a server side sub-system and a client side sub-system. The server side sub-system is configured to: concurrently send a first predetermined portion of each of the plurality of objects through the network, wherein the first predetermined portion is less than a complete object for at least one of the plurality of objects; and after sending the first predetermined portion of each of the plurality of objects, successively send subsequent predetermined portions of each of the plurality of objects until all portions of the plurality of objects have been sent. The client side sub-system is configured to: receive the first predetermined portion of each of the plurality of objects through the network; and after receiving the first predetermined portion of each of the plurality of objects, successively receive subsequent predetermined portions of each of the plurality of objects until all portions of each of the plurality of objects have been received.

Claims (75)

1. A method for sending multimedia content in a client and server system in a network, wherein the multimedia content comprises a plurality of separate and distinct images, the method comprising:

concurrently, for each image of the plurality of separate and distinct images, sending a first predetermined portion only of that image from the server system through the network, the first predetermined portion of that image comprising a reconstruction of the entirety of that image at a first quality level; and

after sending the first predetermined portion of each image of the plurality of separate and distinct images, for each image of the plurality of separate and distinct images, successively sending at least one subsequent predetermined portion of that image, the at least one subsequent predetermined portion of that image comprising image refinement data for concurrently reconstructing the entirety of that image at a successive higher quality level;

wherein sending the first predetermined portion is handled using a Hyper-Text Transfer Protocol connection and sending the subsequent predetermined portions is handled using another predetermined protocol connection after the Hyper-Text Transfer Protocol connection has closed.

2. A method according to claim 1 , further comprising:

receiving information related to the sending of the plurality of separate and distinct images; and

wherein the sending of the first predetermined portions and subsequent predetermined portions of the plurality of separate and distinct images is based on the received information.

3. A method according to claim 2 , wherein the information related to the sending of the plurality of separate and distinct images comprises information selected from the group consisting of: information related to the plurality of separate and distinct images for which sending is to be delayed and information related to the ordering in which the plurality of separate and distinct images are to be sent.

4. A method according to claim 1 , further comprising:

prior to sending, determining if any of the plurality of separate and distinct images is appropriate for division into predetermined portions; and

dividing each appropriate image of the plurality of separate and distinct images into predetermined portions prior to sending.

5. A method according to claim 4 , further comprising compressing at least one of the plurality of separate and distinct images that is not appropriate for division prior to sending.

6. A method according to claim 1 , wherein the network is a wireless network and the server system is a web server or a server side proxy.

7. A method according to claim 1 , wherein the plurality of separate and distinct images is a plurality of separate and distinct still images.

8. A method according to claim 1 , wherein for each image of the plurality of separate and distinct images, the at least one subsequent predetermined portion of that image is a plurality of subsequent predetermined portions of that image, and the method further comprises, for each image of the plurality of separate and distinct images, successively sending subsequent predetermined portions of that image, wherein the subsequent predetermined portions of that image comprise image refinement data for concurrently reconstructing the entirety of that image at successive higher quality levels.

9. A method according to claim 8 , wherein for each image of the plurality of separate and distinct images, successively sending subsequent predetermined portions of that image comprises, after sending the first predetermined portion of that image, concurrently sending subsequent predetermined portions of that image.

10. A method according to claim 1 , wherein for each image of the plurality of separate and distinct images, successively sending subsequent predetermined portions of that image occurs automatically after sending the first predetermined portions of that image.

11. A system for delivering multimedia content through a network, wherein the multimedia content comprises a plurality of separate and distinct images, the system comprising:

a server side computing device comprising a server side processor configured to:

concurrently, for each image of the plurality of separate and distinct images, send a first predetermined portion only of that image through the network, the first predetermined portion of that image comprising a reconstruction of the entirety of that image at a first quality level; and

after sending the first predetermined portion of each image of the plurality of separate and distinct images, for each image of the plurality of separate and distinct images, successively send at least one subsequent predetermined portion of that image, the at least one subsequent predetermined portion of that image comprising image refinement data for concurrently reconstructing the entirety of that image at a successive higher quality level;

wherein sending the first predetermined portion is handled using a Hyper-Text Transfer Protocol connection and sending the subsequent predetermined portions is handled using another predetermined protocol connection after the Hyper-Text Transfer Protocol connection has closed; and

a client side computing device comprising a client side processor configured to:

for each image of the plurality of separate and distinct images, receive the first predetermined portion only of that image, the first predetermined portion of that image comprising a reconstruction of the entirety of that image at a first quality level; and

after receiving the first predetermined portion of each image of the plurality of separate and distinct images, for each image of the plurality of separate and distinct images, successively receive at least one subsequent predetermined portion of that image, the at least one subsequent predetermined portion of that image comprising image refinement data for concurrently reconstructing the entirety of that image at a successive higher quality level;

wherein receiving the first predetermined portion is handled using the Hyper-Text Transfer Protocol connection and receiving the at least one subsequent predetermined portion is handled using the other predetermined protocol connection after the Hyper-Text Transfer Protocol connection has closed.

12. A system according to claim 11 , wherein the client side processor is further configured to, before receiving at least one of the first predetermined portion and the at least one subsequent predetermined portion, send a request for multimedia content, where the request comprises information related to the sending of the plurality of separate and distinct images, and the server side processor is further configured to receive the request and send the multimedia content in accordance with the request.

13. A system according to claim 12 , wherein the information related to the sending of the plurality of separate and distinct images comprises information related to the plurality of separate and distinct images for which sending is to be delayed.

14. A system according to claim 12 , wherein the information related to the sending of the plurality of separate and distinct images comprises information related to the ordering in which the plurality of separate and distinct images are to be sent.

15. A system according to claim 11 , wherein the server side processor is further configured to:

prior to sending, determine if any of the plurality of separate and distinct images is appropriate for division into predetermined portions; and

divide each appropriate image of the plurality of separate and distinct images into predetermined portions prior to sending.

16. A system according to claim 15 , wherein the server side processor is further configured to compress at least one of the plurality of separate and distinct images that is not appropriate for division prior to sending.

17. A system according to claim 11 , wherein the network is a wireless network.

18. A system according to claim 11 , wherein the server side computing device comprises a web server or a server side proxy.

19. A system according to claim 11 , wherein the client side computing device comprises a mobile device or a client side proxy.

20. A system according to claim 11 , wherein the plurality of separate and distinct images is a plurality of separate and distinct still images.

21. A system according to claim 11 , wherein for each image of the plurality of separate and distinct images, the at least one subsequent predetermined portion of that image is a plurality of subsequent predetermined portions of that image, and the server side processor is further configured to:

for each image of the plurality of separate and distinct images, successively send subsequent predetermined portions of that image, wherein the subsequent predetermined portions of that image comprise image refinement data for concurrently reconstructing the entirety of that image at successive higher quality levels; and

the client side processor is further configured to:

for each image of the plurality of separate and distinct images, successively receive subsequent predetermined portions of that image, wherein the subsequent predetermined portions of that image comprise image refinement data for concurrently reconstructing the entirety of that image at successive higher quality levels.

22. A system according to claim 21 , wherein for each image of the plurality of separate and distinct images, the client side processor is configured to

after receiving the first predetermined portion of that image, concurrently reconstruct the entirety of that image from the subsequent predetermined portions of that image to a next higher quality level in the successive higher quality levels; and

step-wise progressively further concurrently reconstruct the entirety of that image to a successive higher quality level in the successive higher quality levels.

23. A physical computer-readable storage medium for sending multimedia content in a client and server system in a network, wherein the multimedia content comprises a plurality of separate and distinct images, the computer-readable medium storing instructions which, when executed by a computing device, cause the computing device to:

concurrently, for each image of the plurality of separate and distinct images, send only a first predetermined portion of that image from the server through the network, the first predetermined portion of that image comprising a reconstruction of the entirety of that image at a first quality level; and

after sending the first predetermined portion of each image of the plurality of separate and distinct images, for each image of the plurality of separate and distinct images, successively send at least one subsequent predetermined portion of that image, the at least one subsequent predetermined portion of that image comprising image refinement data for concurrently reconstructing the entirety of that image at a successive higher quality level;

wherein sending the first predetermined portion is handled using a Hyper-Text Transfer Protocol connection and sending the at least one subsequent predetermined portions is handled using another predetermined protocol connection after the Hyper-Text Transfer Protocol connection has closed.

24. A physical computer-readable storage medium according to claim 23 , wherein for each image of the plurality of separate and distinct images, the at least one subsequent predetermined portion of that image is a plurality of subsequent predetermined portions of that image, and the physical computer-readable medium stored instructions, when executed by a computing device, further causes the computing device to, for each image of the plurality of separate and distinct images, successively send subsequent predetermined portions of that image, wherein the subsequent predetermined portions of that image comprise image refinement data for concurrently reconstructing the entirety of that image at successive higher quality levels.

25. A physical computer-readable storage medium according to claim 24 , wherein for each image of the plurality of separate and distinct images, successively sending subsequent predetermined portions of that image comprises, after sending the first predetermined portion of that image, concurrently sending the subsequent predetermined portions of that image.

26. A method for receiving multimedia content in a client and server system in a network, wherein the multimedia content comprises a plurality of separate and distinct images, the method comprising:

for each image of the plurality of separate and distinct images, receiving a predetermined portion only of that image through the network at the client, the first predetermined portion of that image comprising a reconstruction of the entirety of that image at a first quality level; and

after receiving the first predetermined portion of each image of the plurality of separate and distinct images, for each image of the plurality of separate and distinct images, successively receiving at least one subsequent predetermined portion of that image, the at least one subsequent predetermined portion of that image comprising image refinement data for concurrently reconstructing the entirety of that image at a successive higher quality level;

wherein receiving the first predetermined portion is handled using a Hyper-Text Transfer Protocol connection and receiving the at least one subsequent predetermined portions is handled using another predetermined protocol connection after the Hyper-Text Transfer Protocol connection has closed.

27. A method according to claim 26 , further comprising:

before receiving at least one of the first predetermined portion and the at least one subsequent predetermined portion, sending a request for multimedia content, where the request comprises information related to the sending of the plurality of separate and distinct images.

28. A method according to claim 27 , wherein the information related to the sending of the plurality of separate and distinct images comprises information selected from the group consisting of information related to the plurality of separate and distinct images for which sending is to be delayed and information related to the ordering in which the plurality of separate and distinct images are to be sent.

29. A method according to claim 26 , wherein the network is a wireless network and the client system is a mobile device or a client side proxy.

30. A method according to claim 26 , further comprising:

prior to receiving, determining if the multimedia content is available in a cache; and

where, for each image of the plurality of separate and distinct images, the first predetermined portion of that image is available in the cache but the at least one subsequent predetermined portion of that image is not available in the cache, sending a request for the at least one subsequent predetermined portion of that image without requesting the first predetermined portion of that image.

31. A method according to claim 26 , wherein the plurality of separate and distinct images is a plurality of separate and distinct still images.

32. A method according to claim 26 , wherein for each image of the plurality of separate and distinct images, the at least one subsequent predetermined portion of that image is a plurality of subsequent predetermined portions of that image, and the method further comprises, for each image of the plurality of separate and distinct images, successively receiving subsequent predetermined portions of that image, wherein the subsequent predetermined portions of that image comprise image refinement data for concurrently reconstructing the entirety of that image at successive higher quality levels.

33. A method according to claim 32 , wherein for each image of the plurality of separate and distinct images, successively receiving subsequent predetermined portions of that image comprises,

after receiving the first predetermined portion of that image, concurrently reconstructing the entirety of that image from the subsequent predetermined portions of that image to a next higher quality level in the successive higher quality levels; and

step-wise progressively further concurrently reconstructing the entirety of that image to a successive higher quality level in the successive higher quality levels.

34. A physical computer-readable storage medium for receiving multimedia content in a client and server system in a network, wherein the multimedia content comprises a plurality of separate and distinct images, the computer-readable medium storing instructions which, when executed by a computing device, cause the computing device to:

for each image of the plurality of separate and distinct images, receive only a first predetermined portion of that image through the network at the client, the first predetermined portion of that image comprising a reconstruction of the entirety of that image at a first quality level; and

after receiving the first predetermined portion of each image of the plurality of separate and distinct images, for each image of the plurality of separate and distinct images, successively receive at least one subsequent predetermined portion of that image, the at least one subsequent predetermined portion of that image comprising image refinement data for concurrently reconstructing the entirety of that image at a successive higher quality level;

wherein receiving the first predetermined portion is handled using a Hyper-Text Transfer Protocol connection and receiving the at least one subsequent predetermined portions is handled using another predetermined protocol connection after the Hyper-Text Transfer Protocol connection has closed.

35. A physical computer-readable storage medium according to claim 34 , wherein for each image of the plurality of separate and distinct images, the at least one subsequent predetermined portion of that image is a plurality of subsequent predetermined portions of that image, and the physical computer-readable medium stored instructions, when executed by a computing device, further causes the computing device to for each image of the plurality of separate and distinct images, successively receive subsequent predetermined portions of that image,

wherein the subsequent predetermined portions of that image comprise image refinement data for concurrently reconstructing the entirety of that image at successive higher quality levels.

36. A physical computer-readable storage medium according to claim 35 , wherein for each image of the plurality of separate and distinct images, successively receiving subsequent predetermined portions of that image comprises,

after receiving the first predetermined portion of that image, concurrently reconstructing the entirety of that image from the subsequent predetermined portions of that image to a next higher quality level in the successive higher quality levels; and

step-wise progressively further concurrently reconstructing the entirety of that image to a successive higher quality level in the successive higher quality levels.

Assignments (5)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064270/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
DISSOLUTION AGREEMENT Recorded Feb 11, 2016
From: SLIPSTREAM DATA INC.
To: BLACKBERRY LIMITED
Reel/Frame 037763/0457 →
CHANGE OF NAME Recorded May 21, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 032982/0479 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 4, 2007
From: YANG, EN-HUI, MR.; SINGH, AJIT, MR.; LAMB, BRIAN, MR.; WANG, LONGJI, MR.
To: RESEARCH IN MOTION LIMITED
Reel/Frame 019250/0589 →