US2013179287A1PendingUtilityA1

System and method for electronic distribution of software and data

Assignee: SLOBODSKIY GENNADYPriority: Aug 8, 2011Filed: Aug 8, 2012Published: Jul 11, 2013
Est. expiryAug 8, 2031(~5 yrs left)· nominal 20-yr term from priority
G06Q 2220/00G06Q 30/06G06F 21/606G06F 21/10
43
PatentIndex Score
0
Cited by
0
References
0
Claims

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

exact text as granted — not AI-modified
1 . A method of providing computer software from a software provider and data, the method being performed by a computer system that comprises one or more processors, one or more memories operatively coupled to at least one of the processors, and one or more interfaces operatively coupled to at least one of the processors, and the method comprising:
 transmitting through at least one of the interfaces a software component that is restricted to execution in a controlled execution environment;   receiving through at least one of the interfaces, from the software component executing in the controlled execution environment, a request for data from a data provider specified in the request; and   in response to receiving the request for the data, at least one of the processors executing instructions to determine
 (i) whether the specified data provider is also a data provider authorized by the provider of the software component, 
 (ii) whether the requested data is available from the specified data provider, and 
 (iii) if the specified data provider is not the authorized data provider, whether the requested data is available from the authorized data provider. 
   
     
     
         2 . The method of  claim 1 , comprising:
 in response to determining that the requested data is available from the specified data provider and further determining either
 (i) that the specified data provider is the authorized data provider, or 
 (ii) that the specified data provider is not the authorized data provider and that the requested data is not available from the authorized data provider, 
   transmitting the requested data to the software component through at least one of the interfaces;   wherein the computer system is configured to refuse to transmit the requested data to the software component in response to determining either
 (i) that the requested data is not available from the specified data provider, or 
 (ii) that the requested data is available from the authorized data provider and that the specified data provider is not the authorized data provider. 
   
     
     
         3 . The method of  claim 2 , wherein the requested data is a stream of data. 
     
     
         4 . The method of  claim 2 , comprising transmitting the controlled execution environment through at least one of the interfaces, wherein the controlled execution environment is configured to restrict one or more components that execute within it to communicate only with one or more respective specified network hosts. 
     
     
         5 . The method of  claim 2 , wherein the authorized data provider is the provider of the software component. 
     
     
         6 . The method of  claim 2 , wherein the specified data provider is not the authorized data provider, the method comprising acting as network proxy between the software component executing in the controlled execution environment and the specified data provider. 
     
     
         7 . The method of  claim 1 , comprising electronically receiving one or more queries from the computer network, wherein electronically transmitting the software that comprises the component takes place automatically in response to receipt of the one or more queries. 
     
     
         8 . The method of  claim 7 , wherein the one or more queries comprise a purchase of, or subscription to, the component or the software that comprises the component in exchange for one or more first payments. 
     
     
         9 . The method of  claim 8 , comprising, prior to receiving the one or more queries, receiving the software from an entity that is independent of the distributor. 
     
     
         10 . The method of  claim 9 , wherein the specified network hosts are controlled by the distributor. 
     
     
         11 . The method of  claim 10 , wherein the distributor is a vendor of electronic data services and the purchase or subscription is made by a purchaser, comprising receipt from the purchaser of one or more second payments in exchange for the electronic data services. 
     
     
         12 . The method of  claim 11 , comprising payment by the distributor to the independent entity of an amount based on the one or more first payments. 
     
     
         13 . The method of  claim 12 , wherein the distributor does not make any payment to the independent entity based on the one or more second payments. 
     
     
         14 . A computerized method of electronically distributing computer software to a purchaser, by a vendor of electronic data, in a networked computing environment, the method comprising:
 electronically transmitting through a computer network computer software that comprises a controlled execution environment, the controlled execution environment being capable of controlling use of the computer network by one or more components that execute within the controlled execution environment;   configuring the controlled execution environment so that any component executing within the controlled execution environment is restricted to communication via the computer network only to one or more network hosts specified by the vendor;   receiving a software component from an entity that is independent of the vendor of electronic data, the component being configured to be capable of execution only within the controlled execution environment;   electronically receiving from the purchaser one or more queries via the computer network comprising purchase of, or a subscription to, the component in exchange for one or more first payments;   in response to receipt of the one or more queries, electronically transmitting to the purchaser through the computer network the component; and   receiving from the purchaser one or more second payments in exchange for electronic data services wherein the distributor does not make any payment to the independent entity based on the one or more second payments.   
     
     
         15 . The method of  claim 14 , comprising paying the entity that is independent of the vendor of electronic data an amount that is based on the one or more first payments but is not based on the one or more second payments. 
     
     
         16 . A computer system for providing computer software from a software provider and data, the computer system comprising:
 one or more processors;   one or more memories operatively coupled to at least one of the processors;   one or more interfaces operatively coupled to at least one of the processors; and   one or more computer-readable storage media operatively coupled to at least one of the processors and encoded with instructions that, when executed by at least one of the processors, cause the computer system at least to
 transmit through at least one of the interfaces a software component that is restricted to execution in a controlled execution environment; 
 receive through at least one of the interfaces, from the software component executing in the controlled execution environment, a request for data from a data provider specified in the request; and 
 in response to receiving the request for the data, determine (i) whether the specified data provider is also a data provider authorized by the provider of the software component, (ii) whether the requested data is available from the specified data provider, and (iii) if the specified data provider is not the authorized data provider, whether the requested data is available from the authorized data provider. 
   
     
     
         17 . The computer system of  claim 16 , wherein:
 the instructions comprise instructions that, when executed by at least one of the processors, cause the computer system at least to, in response to determining that the requested data is available from the specified data provider and further determining either (i) that the specified data provider is the authorized data provider, or (ii) that the specified data provider is not the authorized data provider and that the requested data is not available from the authorized data provider, transmit the requested data to the software component through at least one of the interfaces; and   the instructions are such that the computer system refuses to transmit the requested data to the software component in response to determining either (i) that the requested data is not available from the specified data provider, or (ii) that the requested data is available from the authorized data provider and that the specified data provider is not the authorized data provider.   
     
     
         18 . The computer system of  claim 17 , wherein the requested data is a stream of data. 
     
     
         19 . The computer system of  claim 17 , wherein:
 the instructions comprise instructions that, when executed by at least one of the processors, cause the computer system at least to transmit the controlled execution environment through at least one of the interfaces; and   the controlled execution environment is configured to restrict one or more components that execute within it to communicate only with one or more respective specified network hosts.   
     
     
         20 . The computer system of  claim 17 , wherein the authorized data provider is the provider of the software component. 
     
     
         21 . The computer system of  claim 17 , wherein:
 the specified data provider is not the authorized data provider; and   the instructions comprise instructions that, when executed by at least one of the processors, cause the computer system at least to act as network proxy between the software component executing in the controlled execution environment and the specified data provider.   
     
     
         22 . The computer system of  claim 6 , wherein:
 the instructions comprise instructions that, when executed by at least one of the processors, cause the computer system at least to electronically receive one or more queries from the computer network; and   electronically transmitting the software that comprises the component takes place automatically in response to receipt of the one or more queries.   
     
     
         23 . The computer system of  claim 22 , wherein the one or more queries comprise a purchase of, or subscription to, the component or the software that comprises the component in exchange for one or more first payments. 
     
     
         24 . A computer-readable storage medium encoded with instructions that, when executed by one or more processors within a computer system that comprises one or more memories operatively coupled to at least one of the processors, and one or more interfaces operatively coupled to at least one of the processors, cause the computer system at least to
 transmit through at least one of the interfaces a software component that is restricted to execution in a controlled execution environment;   receive through at least one of the interfaces, from the software component executing in the controlled execution environment, a request for data from a data provider specified in the request; and   determine (i) whether the specified data provider is also a data provider authorized by the provider of the software component, (ii) whether the requested data is available from the specified data provider, and (iii) if the specified data provider is not the authorized data provider, whether the requested data is available from the authorized data provider.   
     
     
         25 . The computer-readable storage medium of  claim 24 , wherein:
 the instructions comprise instructions that, when executed by at least one of the processors, cause the computer system at least to, in response to determining that the requested data is available from the specified data provider and further determining either (i) that the specified data provider is the authorized data provider, or (ii) that the specified data provider is not the authorized data provider and that the requested data is not available from the authorized data provider, transmit the requested data to the software component through at least one of the interfaces; and   the instructions are such that the computer system refuses to transmit the requested data to the software component in response to determining either (i) that the requested data is not available from the specified data provider, or (ii) that the requested data is available from the authorized data provider and that the specified data provider is not the authorized data provider.   
     
     
         26 . The computer-readable storage medium of  claim 25 , wherein the requested data is a stream of data. 
     
     
         27 . The computer-readable storage medium of  claim 25 , wherein:
 the instructions comprise instructions that, when executed by at least one of the processors, cause the computer system at least to transmit the controlled execution environment through at least one of the interfaces; and   the controlled execution environment is configured to restrict one or more components that execute within it to communicate only with one or more respective specified network hosts.   
     
     
         28 . The computer-readable storage medium of  claim 25 , wherein the authorized data provider is the provider of the software component. 
     
     
         29 . The computer-readable storage medium of  claim 25 , wherein:
 the specified data provider is not the authorized data provider; and   the instructions comprise instructions that, when executed by at least one of the processors, cause the computer system at least to act as network proxy between the software component executing in the controlled execution environment and the specified data provider.   
     
     
         30 . The computer-readable storage medium of  claim 24 , wherein:
 the instructions comprise instructions that, when executed by at least one of the processors, cause the computer system at least to receive one or more queries from the computer network; and   electronically transmitting the software that comprises the component takes place automatically in response to receipt of the one or more queries.   
     
     
         31 . The computer-readable storage medium of  claim 30 , wherein the one or more queries comprise a purchase of, or subscription to, the component or the software that comprises the component in exchange for one or more first payments.

Join the waitlist — get patent alerts

Track US2013179287A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.