IP Library Granted Patent US 12,277,196
Granted Patent B2
US 12,277,196 · App. 15/637,537 · Granted Apr 15, 2025

System and method for electronic distribution of software and data

Inventors: Gennady Slobodsky (New York, NY); Vladimir Kliatchko (Dobbs Ferry, NY); Shawn Edwards (Stamford, CT); Claudio Storelli (New York, NY); Satoko Highstein (New York, NY); Thomas F. Secunda (Croton-on-Hudson, NY); Navanath Prabuhudessai (Hicksville, NY); Oleg Polonsky (Fair Lawn, NJ)
Assignee: BLOOMBERG FINANCE L.P.
G06F21/10G06F21/606G06Q30/06G06Q2220/00
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 12,277,196
App. No.
15/637,537
Granted
Apr 15, 2025
Kind
B2
Abstract

According to computerized methods of distributing software and data, software components may be distributed electronically for execution in controlled environments. Such a controlled environment may, for example, restrict the components' ability to communicate through a network to one or more specified hosts. When a component requests data, such as a stream of financial data, the request may specify a source of the data, and the request may be granted or denied by the distributor based on whether the specified source is an authorized source of the data and/or whether the requested data is available from an authorized source.

Claims (37)

1. A method for operating an electronic delivery platform for distributing a plurality of software components to a user device, the method comprising:

receiving the plurality of software components via a computer network from one or more authorized software developers, each software component of the plurality of software components configured to execute only in a controlled execution environment;

receiving a request, from the user device, for access to a particular one software component of the plurality of software components;

transmitting the particular one software component, from an application portal, to the user device for execution in the controlled execution environment, wherein the application portal is configured to monitor the particular one software component at the user device and configured to automatically download to the user device a new version of the particular one software component in response to a release of the new version;

receiving a request from the particular one software component for data from a specified data provider;

in response to receiving the request for the data from the specified data provider, determining that the particular one software component may access the data from the specified data provider if the specified data provider is operated by a party that operates the electronic delivery platform; and

in response to determining that the particular one software component may access the data from the specified data provider, transmitting the data to the particular one software component executing on the user device, wherein the particular one software component uses the transmitted data.

2. The method of claim 1 , further comprising:

receiving one or more queries for a purchase of or a subscription to the particular one software component.

3. The method of claim 1 , further comprising:

distributing the data from a data center.

4. The method of claim 3 wherein the data center is a network proxy between the particular one software component executing in the controlled execution environment and the specified data provider.

5. The method of claim 3 wherein the application portal is operated by a party that is different than the one or more authorized software developers.

6. The method of claim 1 , further comprising:

identifying, by an operator of the application portal, the one or more authorized software developers.

7. The method of claim 6 wherein the operator of the application portal is different than the one or more authorized software developers.

8. The method of claim 1 , wherein the application portal is configured to output to a display.

9. The method of claim 8 , wherein the display is configured to display categories of the plurality of software components available on the application portal.

10. The method of claim 9 , wherein the display is configured to display the categories of the plurality of software components in a right-hand pane, wherein the categories of the plurality of software components comprise automatic trading, customer relationship management, and data analysis, which are individually selectable, wherein upon selection of a category of the categories of the plurality of software components, the method further comprises displaying relevant software components, wherein the relevant software components are each individually selectable.

11. The method of claim 9 , wherein the display is configured to dynamically update featured software components of the plurality of software components based on an amount of time a software component of the plurality of software components has spent on a most downloaded list.

12. The method of claim 8 , wherein the method further comprises displaying information about the particular one software component, and wherein the information comprises update dates of the particular one software component.

13. The method of claim 8 , wherein the method further comprises allowing the user to run a free demonstration of the software component as a one-time trial run or a trial run for a pre-determined time period.

14. An electronic delivery platform for distributing a plurality of software components to a user device, the electronic delivery platform comprising:

an application portal comprising a processor, for executing computer program instructions stored in a memory, which when executed by the processor, cause the processor to perform operations comprising:

receiving the plurality of software components via a computer network from one or more authorized software developers, each software component of the plurality of software components configured to execute only in a controlled execution environment;

storing the plurality of software components from one or more authorized software developers;

receiving a request, from the user device, for access to a particular one software component of the plurality of software components,

transmitting, in response to the request received, from the application portal, the particular one software component to the user device for execution in the controlled execution environment, wherein the application portal is configured to monitor the particular one software component at the user device and configured to automatically download to the user device a new version of the particular one software component in response to a release of the new version;

receiving a request from the particular one software component for data from a specified data provider;

in response to receiving, by the application portal, the request for the data from the specified data provider, determining that the particular one software component may access the data from the specified data provider if the specified data provider is operated by a party that operates the electronic delivery platform; and

in response to determining that the particular one software component may access the data from the specified data provider, transmitting the data to the particular one software component executing on the user device wherein the particular one software component uses the transmitted data.

15. The electronic delivery platform of claim 14 , wherein the application portal is configured to output to a display.

16. The electronic delivery platform of claim 15 , wherein the display is configured to display categories of the plurality of software components available on the application portal.

17. The electronic delivery platform of claim 16 , wherein the display is configured to display the categories of the plurality of software components in a right-hand pane, wherein the categories of the plurality of software components comprise automatic trading, customer relationship management, and data analysis, which are individually selectable, wherein upon selection of a category of the categories of the plurality of software components, the display is configured to display relevant software components, wherein the relevant software components are each individually selectable.

18. The electronic delivery platform of claim 16 , wherein the display is configured to dynamically update featured software components of the plurality of software components based on an amount of time a software component of the plurality of software components has spent on a most downloaded list.

19. The electronic delivery platform of claim 15 , wherein the display is configured to display information about the particular one software component, wherein the information comprises update dates of the particular one software component.

20. The electronic delivery platform of claim 15 , wherein the display is further configured to allow the user to run a free demonstration of the software component as a one-time trial run or a trial run for a pre-determined time period.

Assignments (2)
SECURITY INTEREST Recorded Apr 18, 2018
From: BLOOMBERG FINANCE L.P.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 046211/0356 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2017
From: SLOBODSKIY, GENNADIY; KLIATCHKO, VLADIMIR; EDWARDS, SHAWN; STORELLI, CLAUDIO; SECUNDA, TOM; PRABHUDESSAI, NAVANATH; POLONSKY, OLEG; HIGHSTEIN, SATOKO
To: BLOOMBERG FINANCE L.P.
Reel/Frame 042867/0055 →
Continuity (3)
Continuation 13570076 · Aug 8, 2012
Provisional Application 61521192 · Aug 8, 2011
Related Publication 20170300667A1 · Oct 19, 2017
References Cited (65)
US 5629980A · Stefik et al. · 1997 [cited by applicant]
US 5892900A · Ginter · 1999 [cited by examiner]
US 5917912A · Ginter et al. · 1999 [cited by applicant]
US 5978484A · Apperson · 1999 [cited by examiner]
US 6275938B1 · Bond · 2001 [cited by examiner]
US 6651171B1 · England · 2003 [cited by examiner]
US 7073059B2 · Worely, Jr. · 2006 [cited by examiner]
US 7600007B1 · Lewis · 2009 [cited by examiner]
US 7685598B1 · Badenell · 2010 [cited by examiner]
US 7921299B1 · Anantha · 2011 [cited by examiner]
US 8290763B1 · Zhang · 2012 [cited by applicant]
US 8414390B1 · Paleja · 2013 [cited by examiner]
US 8452797B1 · Paleja · 2013 [cited by examiner]
US 8799680B2 · Ferguson · 2014 [cited by examiner]
US 8850215B2 · Gover · 2014 [cited by examiner]
US 9391826B1 · Dayan · 2016 [cited by examiner]
US 9460461B1 · Gill · 2016 [cited by examiner]
US 20020013910A1 · Edery et al. · 2002 [cited by applicant]
US 20020053024A1 · Hashimoto · 2002 [cited by examiner]
US 20020107804A1 · Kravitz · 2002 [cited by examiner]
US 20030028451A1 · Ananian · 2003 [cited by examiner]
US 20050278787A1 · Naslund · 2005 [cited by examiner]
US 20060248504A1 · Hughes · 2006 [cited by examiner]
US 20070038765A1 · Dunn · 2007 [cited by examiner]
US 20070061396A1 · Morris · 2007 [cited by examiner]
US 20070086372A1 · Lee · 2007 [cited by examiner]
US 20070226790A1 · Maher · 2007 [cited by examiner]
US 20070233681A1 · Ronen · 2007 [cited by examiner]
US 20080148414A1 · Tom · 2008 [cited by examiner]
US 20080319771A1 · Shriver-Blake · 2008 [cited by examiner]
US 20080320583A1 · Sharma et al. · 2008 [cited by applicant]
US 20090037287A1 · Baitalmal · 2009 [cited by examiner]
US 20090320051A1 · Meerwald · 2009 [cited by examiner]
US 20100274910A1 · Ghanaie-Sichanie · 2010 [cited by examiner]
US 20100324985A1 · Kumar · 2010 [cited by examiner]
US 20110082900A1 · Nagpal · 2011 [cited by examiner]
US 20110184806A1 · Chen · 2011 [cited by examiner]
US 20110270711A1 · Kusterer · 2011 [cited by examiner]
US 20120030731A1 · Bhargava · 2012 [cited by examiner]
US 20120030750A1 · Bhargava · 2012 [cited by examiner]
US 20120060031A1 · Huang · 2012 [cited by examiner]
US 20120072312A1 · Lange · 2012 [cited by examiner]
US 20120096071A1 · Murphey · 2012 [cited by examiner]
US 20130055211A1 · Fosback · 2013 [cited by examiner]
US 20140075516A1 · Chermside · 2014 [cited by examiner]
US 20140337175A1 · Katzin · 2014 [cited by examiner]
US 20150319299A1 · Craswell · 2015 [cited by examiner]
BR PI02097419B1 · 2002 [cited by examiner]
EP 1909220A1 · 2008 [cited by examiner]
RU 2459238C2 · 2012 [cited by examiner]
.NET Framework 4—Deploying the .NET Framework and Applications—.NET Framework Client Profile, retrieved Sep. 3, 2011 from https://web.archive.org/web/20110903074230/http://msdn.microsoft.com/en-us/library/cc656912.aspx … [cited by examiner]
MacDonald, Matthew. Pro WPF in C# 2010: Windows Presentation Foundation in .NET 4. Netherlands, Apress, 2010. ISBN: 9781430272045, p. 20 (Year: 2010). [cited by examiner]
L. Mattes, L. C. Militelli and J. A. Zuffo, “Platform to enforce multiple access control policy in grid hosting environment,” SecureComm 2007, 2007, pp. 199-205, doi: 10.1109/SECCOM.2007.4550332. (Year: 2007). [cited by examiner]
A. C. Marosi, P. Kacsuk, G. Fedak and O. Lodygensky, “Sandboxing for Desktop Grids Using Virtualization,” 2010 18th Euromicro Conference on Parallel, Distributed and Network-based Processing, 2010, pp. 559-566, doi: 10.… [cited by examiner]
D. Barrera and P. Van Oorschot, “Secure Software Installation on Smartphones,” in IEEE Security & Privacy, vol. 9, No. 3, pp. 42-48, May-Jun. 2011, doi: 10.1109/MSP.2010.202. (Year: 2011). [cited by examiner]
N. Cook, P. Robinson and S. Shrivastava, “Component middleware to support non-repudiable service interactions,” International Conference on Dependable Systems and Networks, 2004, 2004, pp. 605-614, doi: 10.1109/DSN.2004… [cited by examiner]
Wanjun Huang, Wei Zhou, Xinhua Zhang and C. Meinel, “A dynamic, secure and multi-solutions supported middleware system,” The 7th International Conference on Advanced Communication Technology, 2005, ICACT 2005., 2005, pp… [cited by examiner]
G. Cheng et al., “Building dynamic integrity protection for multiple independent authorities in virtualization-based infrastructure,” 2009 10th IEEE/ACM International Conference on Grid Computing, 2009, pp. 113-119, doi… [cited by examiner]
E. Freudenthal and Vijay Karamcheti, “DisCo: middleware for securely deploying decomposable services in partly trusted environments,” 24th International Conference on Distributed Computing Systems, 2004. Proceedings., T… [cited by examiner]
T. Lindquist, A. Ramamurthy and R. Anguamea, “Frameworks for Securing Limited-Device Applications,” Proceedings of the 41st Annual Hawaii International Conference on System Sciences (HICSS 2008), Waikoloa, HI, USA, 2008… [cited by examiner]
M. Alam, J. -P. Seifert and X. Zhang, “A Model-Driven Framework for Trusted Computing Based Systems,” 11th IEEE International Enterprise Distributed Object Computing Conference (EDOC 2007), Annapolis, MD, USA, 2007, pp.… [cited by examiner]
P. Krishnan, S. Hafner and A. Zeiser, “Applying Security Assurance Techniques to a Mobile Phone Application: An Initial Approach,” 2011 IEEE Fourth International Conference on Software Testing, Verification and Validati… [cited by examiner]
D. Feth and A. Pretschner, “Flexible Data-Driven Security for Android,” 2012 IEEE Sixth International Conference on Software Security and Reliability, Gaithersburg, MD, USA, 2012, pp. 41-50, doi: 10.1109/SERE.2012.14. (… [cited by examiner]
Carare, “The impact of bestseller rank on demand: evidence from the app market,” International Economic Review, vol. 53, No. 3, 2012, pp. 717-742. JSTOR, http://www.jstor.org/stable/23251494. (Year: 2012). [cited by examiner]
Doree, Jim. “RSS: A Brief Introduction,” The Journal of manual & manipulative therapy vol. 15,1 (2007): 57-8. doi: 10.1179/106698107791090169, 2007, retrieved from https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2565593/ (… [cited by examiner]