US20030195974A1 - Apparatus and method for scheduling of search for updates or downloads of a file - Google Patents
Apparatus and method for scheduling of search for updates or downloads of a file Download PDFInfo
- Publication number
- US20030195974A1 US20030195974A1 US10/396,098 US39609803A US2003195974A1 US 20030195974 A1 US20030195974 A1 US 20030195974A1 US 39609803 A US39609803 A US 39609803A US 2003195974 A1 US2003195974 A1 US 2003195974A1
- Authority
- US
- United States
- Prior art keywords
- file
- receiving
- module
- files
- screen
- 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.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- 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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Definitions
- the present invention relates to an apparatus and method for controlling distribution of files and updates to files. automatically downloads files upon request by a user and can download a file in multiple portions by tracking an amount of a received portion of the file.
- the method and apparatus include transmitting a request to download a file, the request including an identification of the file and an indication of starting point for transmission of the file.
- a serial transmission of digital information for the file is received beginning at the starting point, and the digital information is appended to a previously-received portion of the file, if present.
- the received digital information is also stored.
- the agent can also search for updates to files by using application signatures to uniquely identify files stored on a user's machine and transmitting the application signatures to a server storing the updates.
- the agent uses a number of screens for displaying information to a user concerning the downloading of files and updates to files. The screens also permit the user to enter schedule information to control downloading of files and searching for updates to files.
- FIG. 1 is a block diagram of an environment for providing electronic commerce.
- FIG. 2 is a block diagram of an electronic commerce system.
- FIG. 3 is a block diagram of exemplary hardware components of an electronic commerce system.
- FIG. 4 is a flow chart of processing for an electronic commerce system.
- FIGS. 5 a and 5 b are a flow chart of a home screen routine for implementing an agent to manage distribution of digital information and file updates.
- FIG. 6 is a flow chart of a downloads screen routine for the agent.
- FIG. 7 is a flow chart of a downloads routine for distribution of digital information using the agent.
- FIG. 8 is a flow chart of an updates screen routine for the agent.
- FIGS. 9 a and 9 b are a flow chart of find updates routine for the agent to locate and download information concerning update to files.
- FIGS. 10 - 24 are diagrams of exemplary screens supported by the routines shown in FIGS. 5 - 9 and used to implement an embodiment of an agent for distribution of digital information and file updates.
- FIG. 10 is a diagram of a home screen.
- FIG. 11 is a diagram of a news and deals screen.
- FIG. 12 is a diagram of a shopping screen.
- FIG. 13 is a diagram of a customer service screen.
- FIG. 14 is a diagram of a privacy screen.
- FIG. 15 is a diagram of a general settings screen.
- FIG. 16 is a diagram of a tour screen.
- FIG. 17 is a diagram of a downloads screen.
- FIG. 18 is a diagram of an install screen.
- FIG. 19 is a diagram of a schedule downloads screen.
- FIG. 20 is a diagram of a download help screen.
- FIG. 21A is a diagram of a download status screen.
- FIG. 21B is a diagram of a continue download screen.
- FIG. 22 is a diagram of an updates screen
- FIG. 23 is a diagram of an updates help screen.
- FIG. 24 is a diagram of an update status screen.
- an end user at computer 100 enters a particular client web site 102 through connection 101 in order to shop for products, which may include, but is not necessarily limited to, digital products.
- Digital products include any information capable of being represented in digital form; examples of digital products include, but are not limited to, the following: software applications; data, music, video, books, text, audio-visual information, multimedia information, graphical information, fonts, and artistic works.
- the end user may view a page from the client's web site, for example, listing and describing various products.
- the end user indicates a desire to purchase a product by, for example, selecting a purchase icon on the client's web page
- the end user's connection 103 is transferred to a commerce network server providing the client's on-line web store 104 , and this typically occurs as a background process.
- the end user may make a secure purchase 105 through page 106 from a product library and, as represented by arrow 107 , the purchased product is delivered electronically over the network connection, physically such as by mail, or both electronically and physically.
- the purchase typically involves the end user entering payment and related information, such as a credit card number and an associated name and address.
- the commerce network server determines whether to accept the order and, if accepted, may provide a secure download of the purchased product to the end user's computer for digital products. Determining whether to accept or decline the order involves the use of accessing information concerning prior attempted purchases using information related to or associated with the information in the order, and determining from the related or associated information the likelihood that the order involves a fraudulent attempt to obtain products.
- a commerce network server may provide multiple on-line web stores 104 and may interact with end users at multiple computers and multiple web sites.
- FIG. 2 is a block diagram of an electronic commerce system 200 illustrating interaction between an end user machine 201 and a server 205 , illustrating exemplary software modules, caches, and related databases.
- Server 205 may correspond with the commerce network server described above providing on-line web stores.
- end user machine 201 interacts through network 204 , such as the Internet or other type of network, with server 205 .
- End user machine 201 may also access a web page on an intermediate server and subsequently be transferred to server 205 .
- End user machine 201 may interact directly with server 205 or interact through an agent module 203 , which performs processing specific to a user at end user machine 201 .
- End user machine 201 transmits a request 228 or 229 to server 205 from agent module 203 or page 202 , possibly including a request for a particular web page, a request to purchase and download a digital product, or a request for a search for a particular product.
- server 205 may interact via network 204 with multiple end user machines and multiple intermediate servers maintaining web sites accessed by users at the end user machines.
- Other examples of systems providing electronic commerce are disclosed in the following United States patents, all of which are incorporated herein by reference as if fully set forth: U.S. Pat. Nos. 5,907,617; 5,903,647; 5,887,060; 5,883,955; 5,883,954; and 5,870,543.
- the request may be transmitted through a uniform resource locator (URL) spoofer module 206 , which performs initial processing of the URL.
- URL spoofer module 206 changes the URL so that if a user subsequently downloads a product, end user machine 201 by default saves the product under a file name associated with the product but gives no direct access to the physical location on the server. It may also misdirect the user in order to detect attempts to fraudulently obtain products.
- the request may be transmitted directly to a web server module 207 , which performs initial processing on the request.
- a log in module 208 receives the request and records certain data associated with the request, such as the user's request, Internet Protocol (IP) address, date and time, and particular demographic information.
- IP Internet Protocol
- the request is then transmitted to a security module 209 , which uses heuristics and other techniques in order to detect a person attempting to bypass particular steps of the process, or otherwise receive or access the products without providing payment.
- a process request module 211 first checks a page/product cache 218 to determine if the requested web page has been previously requested or, if applicable, the relevant product has been previously requested. If so, process request module 211 accesses information in page/product cache 218 in order to avoid repeatedly generating the same information for the same or a similar request. If applicable, process request module 211 also checks a search cache 217 to determine if the requested search has been previously requested and, if so, it uses information in search cache 217 to generate particular output. A build cache module 212 within process request module 211 , if applicable, builds information for storage in either of the caches.
- a fraud (payment) module 210 typically within process request module 211 , performs processing necessary to conduct the payment transaction, including processing of credit card information. It also records payment-related information.
- a build output module 213 next assembles information for the request. It first checks a graphical user interface (GUI) implementation cache 216 to determine if a requested web page has been previously constructed and provided. If so, it may use the information in GUI implementation cache 216 to avoid unnecessary repeated processing of the same information. If applicable, a build cache module 214 within build output module 213 creates information for storage in GUI implementation cache 216 .
- GUI graphical user interface
- a log completion module 215 performs final processing on the request. If the request is only for a web page or search, log completion module 215 transmits the web page or search information back to end user machine 201 . If end user machine 201 uses agent module 203 , log completion module 215 may transmit information to an agent transaction server 219 , which constructs and creates the web page based upon that information and transfers it back to agent module 203 for construction of the web page at page 202 on end user machine 201 .
- log completion module 215 transmits the request to a download processor 224 , which checks with process request module 211 to verify the authenticity of the request and perform a security check If the request is valid, as determined by information transmitted back from process request module 211 , download processor 224 securely transmits the requested product from a product download database 225 to end user machine 201 .
- the transmitted product may be transmitted through agent transaction server 219 if end user machine 201 uses agent module 203 .
- a data warehouse database 221 provides log in information along with keys, which provides an index to associated information in a commerce database 223 .
- Commerce database 223 contains data tables storing information related to products and requests, such as a product table, order table, and other such tables.
- a summary database 220 provides information from the data warehouse database in summary form.
- Product download database 225 provides products in digital form for retrieval by the download processor. This configuration provides the advantage of storing the products without wrappers or associated passwords, and instead providing for a secure download of the products. Wrappers or associated passwords may still be used, if desired.
- a site GUI/feature control database 226 and default GUI/feature control database 227 may be accessed by process request module 211 and build output module 213 for storage and retrieval of information related to web sites.
- a credit card fraud database 222 stores credit card transaction information, including credit card processing history, and other information for adaptive fraud screening. Such information may thus be used in performing another security check.
- the database may store a list of stolen credit card numbers.
- FIG. 3 depicts an exemplary data processing system 300 with a computer 301 illustrating exemplary hardware components of end user machine 201 , server 205 , and an intermediate server, if used to transfer the end user's connection.
- Computer 301 includes a connection with a network 307 such as the Internet or other type of network, which may correspond with network 204 .
- Computer 301 typically includes a memory 302 , a secondary storage device 304 , a processor 305 , an input device 306 , a display device 303 , and an output device 308 .
- Memory 302 may include random access memory (RAM) or similar types of memory, and it may store one or more applications 309 for execution by processor 305 .
- Applications 309 may correspond with the modules shown in FIG. 2.
- Secondary storage device 304 may include a hard disk drive, floppy disk drive, CD-ROM drive, or other types of non-volatile data storage, and it may correspond with the various databases shown in FIG. 2.
- Processor 305 may execute applications or programs stored in memory 302 or secondary storage 304 , or received from the Internet or other network 307 .
- Input device 306 may include any device for entering information into computer 301 , such as a keyboard, cursor-control device, or touch-screen.
- Display device 303 may include any type of device for presenting visual information such as, for example, a computer monitor or flat-screen display.
- Output device 308 may include any type of device for presenting a hard copy of information, such as a printer, and other types of output devices include speakers or any device for providing information in audio form.
- computer 301 is depicted with various components, one skilled in the art will appreciate that this computer can contain additional or different components.
- aspects of an implementation consistent with the present invention are described as being stored in memory, one skilled in the art will appreciate that these aspects can also be stored on or read from other types of computer program products or computer-readable media, such as secondary storage devices, including hard disks, floppy disks, or CD-ROM; a carrier wave from the Internet or other network; or other forms of RAM or. ROM.
- the computer-readable media may include instructions for controlling a computer system, such as computer 301 , to perform a particular method.
- FIG. 4 illustrates high-level processing 400 through electronic commerce system 200 .
- web server module 207 receives a request from end user machine 201 (step 401 ).
- Log-in module 208 processes the request to obtain log information (step 402 ).
- Security module 209 performs a security check (step 403 ).
- Process request module 211 checks page/product cache 218 (step 405 ) and checks search cache 217 , if applicable (step 406 ).
- Fraud module 210 performs payment-related functions and process request module 211 processes the request and uses build cache module 212 to build a cache, if applicable (step 407 ).
- Build output module 213 checks GUI implementation cache 216 (step 408 ), assembles information for responding to the request, and uses build cache module 214 to build a cache, if applicable (step 409 ).
- Log completion module 215 performs final processing of the request (step 410 ), and it determines if the request is a purchase request (step 411 ). If so, it transfers the request to download processor 224 (step 412 ), which securely downloads the requested product and delivers it to the end user machine 201 (step 413 ). If the request was not a purchase request as determined by step 411 , log completion module 215 delivers page and optional search information to end user machine 201 (step 414 ).
- This feature of electronic commerce system 200 involves providing a single transaction point for processing of electronic commerce, generally involving the series of modules shown in FIG. 2. Examples of the processing in this single transaction point include security, checking for fraud, on-line reporting, and processing orders.
- the benefits of providing such processing through a single transaction point typically include, for example, scalability, reliability of processing, simplicity of design by avoiding multiple disparate systems, and avoiding repeated processing.
- This feature of electronic commerce system 200 involves preventing fraud and ensuring security during electronic commerce transactions.
- An electronic commerce transaction involves a user electronically requesting purchase of a product and providing payment for the product. The user may receive the product electronically for digital products or may receive it by other means such as via mail service.
- fraud and fraudulent refer to attempts by a user to obtain a product without providing proper payment, or otherwise not satisfying requirements for obtaining a product. For example, a user may attempt to use a stolen or false credit card number to obtain a product or attempt to tamper with the system so that the user obtains a product for less than the required price.
- certain information related to a user's order may tend to indicate that the user is likely to fail to provide payment, even if the credit card number used appears valid, and system 200 attempts to make that determination based on an analysis of the user's information and associated information.
- the fraud detection and prevention may also involve preventing users or customers from having access to certain stored data such as credit card information and products. It involves preventing users from bypassing particular modules or processing in system 200 . Users typically interact with system 200 in a known manner for non-fraudulent transactions. Likewise, particular types of interaction tend to indicate that a user is attempting to circumvent system 200 and fraudulently obtain products. Therefore, system 200 analyzes a user's interaction, as well as a user's information submitted on an order typically using an order form and related information in a database, in order to determine a likelihood or probability that the user is engaging in attempted fraud during the transaction. That determination is used as a basis to either accept or decline the order.
- the fraud detection and prevention features of system 200 generally include functions within the security and fraud (payment) modules 209 and 210 , as further explained below.
- System 200 may implement modules 209 and 210 , or a single module or any number of modules to implement the features, using software stored in memory 302 or secondary storage 304 for execution by processor 305 .
- Modules 209 and 210 may also be implemented using program products or a combination of software and specialized hardware components. In addition, the modules may be executed on multiple processors for processing a large number of transactions, if necessary or desired.
- modules 209 and 210 for fraud detection and prevention are disclosed in U.S. application Ser. No. 09/372,253, filed Aug. 11, 1999, and entitled “Apparatus and Method for Adaptive Fraud Screening for Electronic Commerce Transactions.”
- This feature of electronic commerce system 200 involves providing centralized management of host sites, managing all host sites through a central database. It may include, for example, extending a look and feel of a particular web site into another web site. For example, when an intermediate server transfers an end user's connection to a commerce network server, as described with respect to FIG. 1, the commerce network server may transmit a page having the same look and feel as the page on the intermediate server, thus providing an apparent seamless transition to the end user.
- This feature also may include making local changes to a large number of managed web sites. Therefore, instead of making similar changes to each individual web site, system 200 may broadcast those particular changes and make the corresponding changes to the managed web sites. It thus provides an advantage, for example, of easily making changes to a large number of web sites. For example, it may automatically broadcast a few particular features every week to the managed web sites in order to regularly update the sites.
- This feature of electronic commerce system 200 provides for securely storing clients' products and providing a secure download process, typically without the use of wrappers or passwords.
- This feature generally involving the series of modules shown in FIG. 2. It includes a database type of security intended at least to simplify the purchase process for a user. A user typically need only enter a credit card number and in response receives a requested product.
- This feature of electronic commerce system 200 concerns a dynamic cache providing for a fast page response and dynamic pages, typically guaranteeing that pages contain current information. It generally involves caches 216 , 217 and 218 shown in FIG. 2, providing cache processing for three areas: product searching; GUI implementation (particular features on a web page); and static page building (a web page as a whole).
- An intelligent agent includes an application that resides locally on a client machine in order to perform processing specific to a user of the machine, generally involving agent module 203 and agent transaction server 219 shown in FIG. 2. It includes at least two aspects, a pull side and a push side.
- the pull side involves the agent obtaining information and knowing how to link to a server and provide the information to the user in a personal way, customized for that user. It shields the user from the order process, for example, in order to simplify it.
- the agent may also perform system management, for example, performing a background process that scans the user's system in order to manage licensed software, perform archival control, and perform other such processing.
- the push side involves making special information available to the user through the agent. For example, if the user already ordered a particular product, the agent may inform the user of any bugs in the product, product upgrades, or related products. That information is “pushed” to the agent from the server.
- the server may provide initial filtering of information given to the agents, and the agents perform additional filtering in order to present the information in a specific way to the user.
- an agent manages distribution and download of files including digital products to a user's machine, as well as locating and downloading updates to files contained on the user's machine.
- file refers to any type of digital product.
- a file may include associated information concerning the file, such as a name and size, which is possibly useful for downloading purposes.
- a file may include only a digital product itself or a portion of a digital product.
- the agent can thus assist a user in managing the downloading of particular digital information, as well as provide recommendations concerning updates to files on the user's machine.
- An embodiment consistent with the agent may be implemented in software or program products within agent module 203 in user machine 201 , and it may be included within agent modules on many particular end user machines interacting with server 205 .
- FIGS. 5 - 9 are flow charts of routines for implementing an agent in agent module 203 .
- agent refers to any software or other type of application for executing the functions in FIGS. 5 - 9 .
- FIGS. 10 - 24 are diagrams of screens supported by the routines in FIGS. 5 - 9 .
- the term “screen” refers to any visual element or combinations of visual elements for displaying information; examples include, but are not limited to, user interfaces on a display device or information displayed in web pages or in windows on a display device.
- the screens may be formatted, for example, as web pages in HyperText Markup Language (HTML), or in any other suitable form for presentation on a display device depending upon applications used by users to interact with the system.
- HTML HyperText Markup Language
- the screens include various sections, as explained below, to provide information or to receive information or commands.
- section with respect to screens refers to a particular portion of a screen, possibly including the entire screen. Sections are selected, for example, to enter information or commands or to retrieve information or access other screens. The selection may occur, for example, by using a cursor-control device to “click on” or “double click on” the section; alternatively, sections may be selected by entering a series of key strokes or in other ways such as through voice commands or use of a touch screen.
- 10 - 24 illustrate a particular arrangement and number of sections in each screen, other arrangements are possible and different numbers of sections in the screens may be used to accomplish the same or similar functions of displaying information and receiving information or commands. Also, the same section may be used for performing a number of functions, such as both displaying information and receiving a command.
- FIGS. 5 a and 5 b are a flow chart of a home screen routine 500 for the agent.
- Routine 500 supports a home screen 700 shown in FIG. 10.
- Home screen 700 is a main screen shown to a user upon launching the agent.
- the agent typically resides active as a background process on a user's machine (step 502 ). By remaining active in the background, the agent may automatically execute certain functions, as scheduled by the user and further explained below.
- the user launches the agent, as determined by step 504 .
- the user may launch the agent in a number of ways such as, for example, selecting the agent from a start menu, executing a run command, or selecting the agent as represented by an icon in a system tray on the user's computer.
- the agent displays home screen 700 (step 506 ).
- the term “eBot” is a trademark of Digital River, Inc.
- Home screen 700 includes a section 701 for use in providing information to the user and receiving information from the user. From home screen 700 , a user may select a function by selecting a particular section of home screen 700 shown in FIG. 10 (step 508 ). Selection of home section 704 (step 510 ) causes display of home screen 700 (step 530 ). Selection of news and deals section 706 (step 512 ) causes display of a news and deals screen 726 shown in FIG. 11 (step 532 ).
- News and deals screen 726 illustrates an example of providing particular information in section 701 to users. News and deals screen 726 typically includes a section 727 by which a user may connect with a particular web site as related to the information within section 701 .
- the agent determines if the user selects section 727 (step 552 ); if so, the agent launches a web browser on the user's machine and connects with the appropriate web site (step 554 ).
- the agent may work with any type of web browser or other application executed by user machine 201 for network or Internet communication; examples of web browsers include the Netscape Navigator program and the Microsoft Internet Explorer program.
- Selection in home screen 700 of a shopping section 708 causes display of a shopping screen 728 shown in FIG. 12 (step 534 ).
- Shopping screen 728 permits display of information related to on-line shopping within section 701 .
- shopping screen 728 typically includes a connect section 730 by which a user may connect with a particular web site. From shopping screen 728 , the agent determines if the user selects connect section 730 (step 552 ); if so, the agent launches the web browser and connects with the appropriate web site for on-line shopping (step 554 ). The agent may store and associate connect section 730 with a URL or a uniform resource indicator (URI) for use in accessing a particular web site.
- URI uniform resource indicator
- selection of a customer service section 710 causes display of a customer service screen 732 shown in FIG. 13 (step 536 ).
- Customer service screen 732 provides for display of information to a user concerning operation of the agent. It typically includes a plurality of connect sections 734 for a selection by a user in order to connect with an appropriate web site in order to obtain customer service information. Therefore, from customer service screen 732 the agent determines if a user selects one of the connect sections 734 (step 552 ); if so, the agent launches a web browser and connects with an appropriate web site for customer service information (step 554 ).
- Privacy screen 736 permits display of information to a user concerning the privacy of the information used by the agent for downloading information and providing for file updates.
- Privacy screen 736 also typically includes connect section 730 for connection with a web site to obtain information concerning privacy. From privacy screen 736 the agent determines if the user selects section 730 (step 552 ), and if so, the agent launches a web browser and connects with an appropriate web site for providing privacy information to a user (step 554 ).
- selection of a general settings section 714 causes display of general settings screen 738 shown in FIG. 15 (step 540 ).
- the agent receives and saves settings as entered by the user, including schedule information for finding updates (step 556 ).
- general settings screen 738 includes a name section 739 in which a user may enter a name or other identifier.
- Selection of a section 740 permits the user to instruct the agent to search for updates on a periodic basis. In particular, the user may enter a number of days in section 741 by which they want the agent to automatically search for update to the files on the user's machine, as explained below.
- the agent automatically searches for updates to the files on the user's machine using a connection with server 205 based upon the days parameter in section 741 .
- the agent may alternatively search for updates on a different periodic basis such as the first day of every month, or at a particular time and day each week or month.
- Selection of a section 742 permits the user to specify a particular proxy server for downloads as entered in section 743 identifying a server and port for use with the web browser.
- Selection of a section 744 permits the user to specify automatic downloads such that the agent will automatically download a file without prompting the user for permission.
- Selection of a section 745 permits the user to instruct the agent to download from any web site on the Internet through server 205 .
- Selection of a section 746 permits the user to instruct that the agent software be activated upon system start-up of the user's machine.
- a selection of a tour section 716 causes display of a tour screen 748 shown in FIG. 16 (step 542 ).
- Tour screen 748 permits the agent to display information concerning its operation to the user. The user may typically obtain more information concerning operation of the agent by selecting connect section 730 in order to connect with an appropriate web site. Therefore, on tour screen 748 the agent determines if the user selects connect section 730 (step 552 ); if so, the agent launches a web browser and connects with an appropriate web site in order to provide information concerning its operation (step 554 ).
- selection of a downloads section 718 causes execution of a downloads screen routine (step 554 ), as further explained below.
- Selection of an updates section 720 in home screen 700 causes execution of an update screen routine (step 546 ), as further explained below.
- a banner section 722 in home screen 700 permits the agent to display advertising or other information to a user. The user may select the banner in order to connect with a corresponding web site and obtain more information or shop on-line for products or services. Therefore, a selection of banner section 722 (step 526 ) causes the agent to launch a web browser and connect with an appropriate web site as determined by network address information, such as a URL, associated with the banner (step 548 ). If the user selects a close section 724 (step 528 ), the agent closes home screen 700 (step 550 ).
- the agent may also be programmed or instructed by the user to automatically perform downloads of files and search for file updates using time parameter information.
- the agent monitors a current date and time, and compares it with schedule information to detect occurrence of a particular date and time (step 557 ).
- the agent can monitor a current date and time by accessing an internal calendar and clock for user machine 201 on which it runs.
- the agent determines if the user has scheduled a particular function (step 558 ). That determination may be based upon comparing stored time parameter information as entered by a user with time information as determined by settings on a user's machine, as monitored in step 557 . If the user has scheduled a particular download for this time (step 560 ), the agent executes a downloads routine based on the scheduled information (step 562 ). If the user has scheduled an update for this time (step 564 ), the agent executes a find updates routine based upon the scheduled information (step 566 ).
- the agent software In order for the scheduled function to occur, the agent software typically must be active as a background process such that it is operational and the user's machine must maintain or provide for a network connection such that the agent may automatically perform the downloads and search for the file updates through the network connection without requiring further interaction by the user.
- FIG. 6 is a flow chart of downloads screen routine 544 activated upon the user's selection of downloads section 718 in home screen 700 .
- the agent Upon selection of downloads section 718 , the agent displays a downloads screen 750 shown in FIG. 17 (step 568 ).
- Downloads screen 750 includes a number of sections for providing status information to a user concerning downloads 21 , and for a user to instruct the agent to perform certain operations concerning downloads.
- routine 544 a user selects a function within downloads screen 750 (step 570 ), and the agent in response executes the selected function. Selection of a download section 752 causes execution of a downloads routine (step 584 ), as further explained below.
- downloads screen 750 provides a status section 764 having status information concerning files.
- a name column 766 provides a listing of file names
- a status column 768 provides identification on the status of each file
- a completion column 770 provides information concerning an amount of the file downloaded, if any
- a date section 772 provides date information concerning when the file was downloaded.
- Status section 768 provides various types of status information, such as the following: a ready status indicates that the selected file is ready to be downloaded; a downloaded status indicates that the selected file has been successfully downloaded; an in progress status indicates that the selected file is currently being downloaded with completion column 770 providing an indication of the percentage downloaded; a cancelled status indicates that a request to download the selected file has been cancelled.
- a details section 774 provides information concerning a particular selected file in section 764 . The highlighting indicates that a file in section 764 has been selected by a user, and the user may select the file in the same manner that a user selects a section.
- selection of an open/install section 754 provides for the user to request installation of a particular file as selected in status section 764 .
- the agent determines if the requested file has been downloaded (step 586 ). If the file has not been downloaded, the agent may provide an error message to the user indicating that the file must first be downloaded before it can be installed (step 588 ). If the file has been successfully downloaded, the agent installs the file (step 590 ). Installation of the file typically requires any conventional installation permitting for execution of the file by user machine 201 . Prior to installation, the agent may display an install screen 776 , shown in FIG. 18, requesting that the user confirm whether to install the selected file or not through a selection of section 777 to confirm installation or selection of a section 778 cancel installation.
- Selection of a scheduled section 756 in downloads screen 750 permits the user to schedule downloading of a file selected in status section 764 .
- Selection of schedule section 756 (step 576 ) causes display of a schedule download screen 780 shown in FIG. 19 (step 592 ).
- the agent receives and stores schedule information for the selected file for downloading a selected file (step 594 ).
- Schedule information includes any type of date-based or time-based information for use in scheduling downloading of files or searching for file updates. For example, a user may enter a date in date section 781 and a time in time section 782 in order to schedule a download for the selected file.
- By selecting section 783 the user confirms the schedule and by selecting a section 784 the user cancels the function.
- Selection of a remove section 758 in downloads screen 750 causes removal of a selected file in status section 764 .
- the agent removes the file indication from status section 764 if verified by the user (step 593 ).
- Selection of a help section 762 in downloads screen 750 causes display of a help screen 786 shown in FIG. 20 (step 596 ).
- Downloads help screen 786 permits display of information concerning downloading of information to a user. It typically includes connect section 730 in order for the user to connect with the web site and obtain more help information.
- the agent determines if the user selects connect section 730 (step 598 ); if so, the agent launches the web browser and connects with the appropriate web site to obtain more help information (step 600 ).
- selection of an updates section 720 causes execution of an updates screen routine (step 546 ), as further explained below.
- Selection of home section 702 causes the agent to return to display home screen 700 and execute home screen routine 500 .
- FIG. 7 is a flow chart of downloads routine 584 executed upon a user's selection of download section 752 in downloads screen 750 or based on schedule information as determined in steps 557 and 558 .
- the agent Upon selection of download section 752 , the agent displays a download status screen 788 as shown in FIG. 21A.
- server 205 In downloads routine 584 , server 205 typically transmits a file list to the agent (step 606 ).
- the file list provides for the identification of files in status section 764 .
- the list may be transmitted one time or repeatedly transmitted and updated.
- the user selects a file in the file list download (step 608 ). Alternatively, the user may have preselected a file for downloading using schedule information.
- the agent sends a get file request to the server, including a URL and starting point of where to begin transmission of the file (step 610 ).
- the starting point is a start byte; however, the starting point may include any type of indication of where to begin transmission of the file.
- the agent may optionally encrypt the request using any type of encryption routine.
- server 205 downloads the requested file to the agent by serial transmission of digital information for the file using conventional Transmission Control Protocol/Internet Protocol (TCP/IP) transmission (step 612 ).
- TCP/IP Transmission Control Protocol/Internet Protocol
- the serial transmission occurs through a stream of bytes for the file; however, it may occur through transmission of other forms of digital information such as, for example, bits, contiguous collections of bytes, or packets.
- the transmission may occur through any wireline or wireless network.
- the agent receives the file, it stores the file in a temporary folder on the user's machine such as “C: ⁇ temp ⁇ ” on the hard disk drive for the user machine, and it uses a counter to track receives bytes. It also appends the bytes to a previously-received portion, if present in the temporary drive, for downloading the file in multiple portions (step 614 ). It may store the bytes under a file name related to the file in order to detect a previously-received portion under the same name, if present. It may simultaneously store and append the bytes, or separately perform those steps. Also, instead of using the temporary drive, the agent may store the file in other drives or storage mediums.
- Table 1 provides the levels of protocol used for the transmission. TABLE 1 level protocol 1 Agent Transfer Protocol (ATP) 2 encryption 3 TCP/IP
- the ATP includes the processing shown in downloads routine 584 (FIG. 7).
- the encryption protocol (level 2) provides for optional encryption of the transmitted bytes using various types of encryption such as triple Data Encryption Standard, referred to as 3DES.
- Level 3 includes the standard TCP/IP transmission of data over the Internet.
- Download status screen 788 includes a file identification section 789 providing for identification of the file being downloaded, a status section 790 providing for an indication of the status of the file, whether a new download or a continued download, and a section 791 providing for additional status information such as a size of the file and an estimated remaining time to completion of the download.
- Section 791 also provides a visual indication of download in progress by continuously displaying the current number of bytes downloaded along with the total number to be downloaded.
- a section 792 provides for another visual indication of the download as in progress. In particular, it provides for an expanding status bar displaying essentially in realtime a relative indication of the amount that the file is downloaded. The status bar moves, for example, from left to right filling up section 792 until the file is completely downloaded. Selection of a cancel section 793 permits the user to cancel the download.
- the agent may track a percentage or a relative amount downloaded by tracking received bytes and by knowing in advance a file size corresponding with the file.
- conventional operating systems such as the Microsoft Windows program includes the ability to store file sizes in bytes associated with file names and potentially other information associated with the file such as a type of file and when the file was last modified.
- the agent continuously divides the received number of bytes by the file size in bytes to display the status bar and the percent downloaded.
- Interruption of the transmission may occur in a number of ways such as, for example, through a user's selection of cancel section 793 in download status screen 788 , through any type of loss of the network connection, or through software or web browser failure.
- transmission interruption may occur if a user turns off power to the user machine, if the user machine otherwise experiences a loss of power, if the user disconnects it from the network, if a server or router for network transmission fails, or through any other type of software or hardware failure.
- the agent requests whether the user wishes to continue downloading (step 620 ). For example, the agent may display a continue download screen 794 as shown in FIG. 21B.
- Continue download screen 794 includes a section 796 for the user to select in order to continue the download and a section 798 for the user to select in order to not continue the download at this time. If the agent continues to download the same file at another time, it may search for the same file name in the temporary folder, along with the associated start byte number, in order to download only the remaining portion and append it to the previously-received portion before the interruption occurred.
- Continue download screen 794 may alternatively include another option to cancel the download and delete the portion of the file already received.
- the agent sends another get file request including a URL of the file and start byte (step 610 ). Since the agent tracks received bytes, it may now continue transmission by the next start byte following the last byte received. In particular, the agent sets the starting byte to the number of the last byte successfully received plus one. The download process then continues in steps 612 , 614 , and 616 , and the agent appends the remaining bytes to the previously-received portion of the file in the temporary folder, for example.
- the agent monitors the download to determine if it receives an end of file (EOF) indication (step 626 ); downloading continues while uninterrupted and until an EOF indication is received.
- the EOF may include any type of symbol, character, code, or other information providing an indication that t
- the agent receives the EOF indication, it has successfully downloaded the file, and it requests whether the user wishes to install the file (step 628 ).
- the agent may, for example, display installation screen 776 (FIG. 18) in order to request installation. If the user does not request installation, the agent stores the file on the desktop (step 632 ), and the user may, at a later time, request installation. Otherwise, if installation is requested, the user installs the file by performing the necessary processing so that the file is executable by the user (step 630 ).
- the agent saves and updates the status in download status section 764 in downloads screen 750 for the particular file being processed (step 624 ). Updating the status provides for changing the status in status column 768 for the corresponding file in order to indicate its status, as well as providing an indication of the amount downloaded in completion column 770 and an indication of the date when last downloaded in date column 772 .
- FIG. 8 is a flow chart of updates screen routine 546 executed upon a user's selection of updates section 720 in home screen 700 or downloads screen 750 .
- the agent displays an updates screen 795 , shown in FIG. 22, upon a user's selection of updates section 720 (step 634 ).
- the user selects a particular function (step 636 ) and the agent in response executes the requested function.
- Updates screen 795 includes an update status section 802 providing for information concerning updates to particular files.
- a name column 803 provides an identification of a file name and, as shown indented, an indication of updates to the corresponding files.
- a price column 804 indicates a price for the particular update, and a type column 805 indicates that type of update such as an add-on.
- a details section 806 provides for information concerning the particular highlighted (selected) update in update status section 802 .
- selection of download section 797 causes execution of downloads routine 584 (FIG. 7) for the selected update (step 650 ).
- a selected update is shown with highlighting, for example, and a user may select an update in the same manner as selecting a section.
- Selection of a find updates section 799 causes execution of a find updates routine as further explained below (step 652 ).
- Selection of a remove section 801 causes the agent to remove a file or update selected by user, if the user verifies the removal (step 654 ).
- Selection of a help section 807 causes display of a help screen 808 shown in FIG. 23 (step 656 ).
- Help screen 808 provides for display of information to the user concerning finding updates for files.
- Help screen 808 specifically includes connect section 730 for a user to connect with an appropriate web site in order to obtain more help information. From help screen 808 the agent determines if the user selects connect section 730 (step 658 ); if so, the agent launches the web browser and connects with the appropriate web site in order to obtain more help information (step 660 ).
- Selection of downloads section 718 in updates screen 795 causes the agent to execute downloads screen routine 544 (FIG. 6).
- Selection of home section 702 causes the agent to display home screen 700 and execute home screen routine 500 (FIGS. 5 a and 5 b ).
- FIGS. 9 a and 9 b are a flow chart of find updates routine 652 executed upon selection of find updates section 799 in updates screen 795 or based upon schedule information.
- Find updates routine 652 permits the agent through interaction with server 205 to automatically search for updates to particular files.
- the agent and server use application signatures in order to uniquely identify the files stored on a user system. By uniquely identifying those files, the server may determine whether updates exist for particular files.
- the use of application signatures is particularly useful when files have many different versions, as often exists for software applications, and the server must determine whether an update exists for a particular version of the file on a user machine.
- the term “application signature” refers to any information used to uniquely identify a file, an example of which is provided below.
- find updates routine 652 the user selects find update section 799 (step 666 ).
- the agent may include an end user license agreement for the user. If it has an end user agreement, the agent determines if this is the first time the user has requested to find updates (step 668 ); if so, the agent displays an end user license agreement (step 670 ) and determines if the user accepts the agreement (step 672 ).
- the agent may be configured to only look for updates if the user has accepted the end user license agreement. Alternatively, the agent may operate without an end user license agreement or with varying versions of such agreement.
- the agent searches for updates.
- the agent scans the hard disk drive on the user's machine in order to search for executable (.exe) files, dynamic link library (.dll) files, and driver (.drv) files, and the agent constructs a message including the directories and file names (step 674 ).
- Executable files are identified by an “.exe” suffix
- dynamic link library files are identified by a “.dll” suffix
- driver files are identified by a “.drv” suffix.
- the agent may alternatively look for other types of files; however, in the exemplary embodiment it generally searches for the executable, dynamic link library, and driver files.
- the agent returns a get file information message to server 205 with application signatures (step 676 ).
- the application signatures include a file name and corresponding size in bytes.
- Certain windows applications for example, provide file name and size information, and the agent may obtain the file name and size information from such an application or generate the information itself.
- the agent and server may also use corresponding dynamic link library file names plus associated sizes to construct the application signatures, and for that signature to match, both the executable file name and size, and dynamic link library file name and size, must match a stored signature.
- an application signature in this example may include multiple file names and associated sizes for a particular file.
- Various types of files associated with a single file may be used to generate a unique application signature, depending upon application signatures already stored in the server database.
- Server 205 uses the application signature to determine if updates exist for the corresponding files (step 678 ).
- the server selects an application signature (step 680 ) and determines if a match exists in an updates database by individually comparing the received file names and associated sizes with stored file names and associated sizes (step 682 ). If a match exists, the server retrieves the corresponding update information (step 684 ). Update information includes any type of indication of updates to files. The server may include links to a different database including the update information based upon the application signature. The server then determines if more application signatures exist to be processed (step 686 ); if so, it returns to step 680 to process additional application signatures.
- the server After processing all of the application signatures, the server sends to the agent a file information-response with recommended updates from the retrieved update information (step 688 ). The server also checks if the update recommendation is on the user's machine; if so, it skips the update.
- the agent presents an indication of the recommended updates to the user, for example, as shown in update status section 802 in updates status screen 795 (step 689 ).
- the agent determines if the user selects an update to be downloaded (step 690 ). For example, user may select an update and then select download section 797 in order to download that update. If the user requests to download an update, the agent executes the download routine 584 (FIG. 7) to download the selected update (step 692 ).
- update status screen 810 includes a section 811 for the agent to indicate status of preparing to search, a section 812 indicating that it is scanning the user system to obtain particular hardware information and file information, a section 813 to indicate that it is checking for updates with the server, and a section 814 indicating that it has received update information from the server and is compiling the results.
- the status of each section is indicated by a check-mark displayed in the corresponding box.
- a cancel section 815 permits the user to cancel the selected function.
- steps 678 , 680 , 682 , 684 , 686 , and 688 are executed by the server, while the agent executes the other steps.
Abstract
An agent software application for controlling distribution of files and managing updates to files. The agent automatically downloads files upon request by a user and can download a file in multiple portions by tracking received byte numbers. The agent searches for updates to files by using application signatures to uniquely identify files stored on a user's machine and transmitting the application signatures to a server storing the updates. The user can set parameters related to control of the downloading and searching for file updates, including scheduling of downloads for selected files and scheduling of automatic searching for updates on a periodic basis.
Description
- The present application is a continuation-in-part of U.S. patent application Ser. No. 09/372,253, filed Aug. 11, 1999, and entitled “Apparatus and Method for Adaptive Fraud Screening for Electronic Commerce Transactions,” which is a continuation-in-part of provisional U.S. Patent Application Serial No. 60/110,952, filed Dec. 4, 1998, and entitled “Apparatus and Method for Providing Electronic Commerce,” both of which are incorporated herein by reference as if fully set forth.
- The present application is related to the following applications, all of which are incorporated herein by reference as if fully set forth: United States Patent Application of Joel Ronning, Kelly Wical, and Marc Kukura, entitled “Apparatus and Method for Controlling Distribution of Files and File Updates,” and filed on even date herewith; United States Patent Application of Joel Ronning and Kelly Wical, entitled “Apparatus and Method for Secure Downloading of Files,” and filed on even date herewith; United States Patent Application of Joel Ronning and Kelly Wical, entitled “Cache Management for Dynamic Web Pages,” and filed on even date herewith; and United States Patent Application of Joel Ronning and Kelly Wical, entitled “Global Web Site Management,” and filed on even date herewith.
- The present invention relates to an apparatus and method for controlling distribution of files and updates to files. automatically downloads files upon request by a user and can download a file in multiple portions by tracking an amount of a received portion of the file.
- The method and apparatus include transmitting a request to download a file, the request including an identification of the file and an indication of starting point for transmission of the file. A serial transmission of digital information for the file is received beginning at the starting point, and the digital information is appended to a previously-received portion of the file, if present. The received digital information is also stored.
- The agent can also search for updates to files by using application signatures to uniquely identify files stored on a user's machine and transmitting the application signatures to a server storing the updates. In addition, the agent uses a number of screens for displaying information to a user concerning the downloading of files and updates to files. The screens also permit the user to enter schedule information to control downloading of files and searching for updates to files.
- FIG. 1 is a block diagram of an environment for providing electronic commerce.
- FIG. 2 is a block diagram of an electronic commerce system.
- FIG. 3 is a block diagram of exemplary hardware components of an electronic commerce system.
- FIG. 4 is a flow chart of processing for an electronic commerce system.
- FIGS. 5a and 5 b are a flow chart of a home screen routine for implementing an agent to manage distribution of digital information and file updates.
- FIG. 6 is a flow chart of a downloads screen routine for the agent.
- FIG. 7 is a flow chart of a downloads routine for distribution of digital information using the agent.
- FIG. 8 is a flow chart of an updates screen routine for the agent.
- FIGS. 9a and 9 b are a flow chart of find updates routine for the agent to locate and download information concerning update to files.
- FIGS.10-24 are diagrams of exemplary screens supported by the routines shown in FIGS. 5-9 and used to implement an embodiment of an agent for distribution of digital information and file updates.
- FIG. 10 is a diagram of a home screen.
- FIG. 11 is a diagram of a news and deals screen.
- FIG. 12 is a diagram of a shopping screen.
- FIG. 13 is a diagram of a customer service screen.
- FIG. 14 is a diagram of a privacy screen.
- FIG. 15 is a diagram of a general settings screen.
- FIG. 16 is a diagram of a tour screen.
- FIG. 17 is a diagram of a downloads screen.
- FIG. 18 is a diagram of an install screen.
- FIG. 19 is a diagram of a schedule downloads screen.
- FIG. 20 is a diagram of a download help screen.
- FIG. 21A is a diagram of a download status screen.
- FIG. 21B is a diagram of a continue download screen.
- FIG. 22 is a diagram of an updates screen
- FIG. 23 is a diagram of an updates help screen.
- FIG. 24 is a diagram of an update status screen.
- As shown in FIG. 1, an end user at
computer 100 enters a particularclient web site 102 throughconnection 101 in order to shop for products, which may include, but is not necessarily limited to, digital products. Digital products include any information capable of being represented in digital form; examples of digital products include, but are not limited to, the following: software applications; data, music, video, books, text, audio-visual information, multimedia information, graphical information, fonts, and artistic works. - The end user may view a page from the client's web site, for example, listing and describing various products. When the end user indicates a desire to purchase a product by, for example, selecting a purchase icon on the client's web page, the end user's
connection 103 is transferred to a commerce network server providing the client's on-line web store 104, and this typically occurs as a background process. The end user may make asecure purchase 105 throughpage 106 from a product library and, as represented byarrow 107, the purchased product is delivered electronically over the network connection, physically such as by mail, or both electronically and physically. - The purchase typically involves the end user entering payment and related information, such as a credit card number and an associated name and address. In response, the commerce network server determines whether to accept the order and, if accepted, may provide a secure download of the purchased product to the end user's computer for digital products. Determining whether to accept or decline the order involves the use of accessing information concerning prior attempted purchases using information related to or associated with the information in the order, and determining from the related or associated information the likelihood that the order involves a fraudulent attempt to obtain products. Although only one
computer 100 andweb site 102 are shown, a commerce network server may provide multiple on-line web stores 104 and may interact with end users at multiple computers and multiple web sites. - FIG. 2 is a block diagram of an
electronic commerce system 200 illustrating interaction between anend user machine 201 and aserver 205, illustrating exemplary software modules, caches, and related databases.Server 205 may correspond with the commerce network server described above providing on-line web stores. As shown,end user machine 201 interacts throughnetwork 204, such as the Internet or other type of network, withserver 205.End user machine 201 may also access a web page on an intermediate server and subsequently be transferred toserver 205.End user machine 201 may interact directly withserver 205 or interact through anagent module 203, which performs processing specific to a user atend user machine 201.End user machine 201 transmits arequest agent module 203 orpage 202, possibly including a request for a particular web page, a request to purchase and download a digital product, or a request for a search for a particular product. Although only oneend user machine 201 is shown,server 205 may interact vianetwork 204 with multiple end user machines and multiple intermediate servers maintaining web sites accessed by users at the end user machines. Other examples of systems providing electronic commerce are disclosed in the following United States patents, all of which are incorporated herein by reference as if fully set forth: U.S. Pat. Nos. 5,907,617; 5,903,647; 5,887,060; 5,883,955; 5,883,954; and 5,870,543. - In
server 205, the request may be transmitted through a uniform resource locator (URL)spoofer module 206, which performs initial processing of the URL. In particular,URL spoofer module 206 changes the URL so that if a user subsequently downloads a product,end user machine 201 by default saves the product under a file name associated with the product but gives no direct access to the physical location on the server. It may also misdirect the user in order to detect attempts to fraudulently obtain products. Alternatively, the request may be transmitted directly to aweb server module 207, which performs initial processing on the request. - A log in
module 208 receives the request and records certain data associated with the request, such as the user's request, Internet Protocol (IP) address, date and time, and particular demographic information. The request is then transmitted to asecurity module 209, which uses heuristics and other techniques in order to detect a person attempting to bypass particular steps of the process, or otherwise receive or access the products without providing payment. - A
process request module 211 first checks a page/product cache 218 to determine if the requested web page has been previously requested or, if applicable, the relevant product has been previously requested. If so,process request module 211 accesses information in page/product cache 218 in order to avoid repeatedly generating the same information for the same or a similar request. If applicable,process request module 211 also checks asearch cache 217 to determine if the requested search has been previously requested and, if so, it uses information insearch cache 217 to generate particular output. Abuild cache module 212 withinprocess request module 211, if applicable, builds information for storage in either of the caches. - A fraud (payment)
module 210, typically withinprocess request module 211, performs processing necessary to conduct the payment transaction, including processing of credit card information. It also records payment-related information. - A
build output module 213 next assembles information for the request. It first checks a graphical user interface (GUI)implementation cache 216 to determine if a requested web page has been previously constructed and provided. If so, it may use the information inGUI implementation cache 216 to avoid unnecessary repeated processing of the same information. If applicable, abuild cache module 214 withinbuild output module 213 creates information for storage inGUI implementation cache 216. - A
log completion module 215 performs final processing on the request. If the request is only for a web page or search, logcompletion module 215 transmits the web page or search information back toend user machine 201. Ifend user machine 201 usesagent module 203, logcompletion module 215 may transmit information to anagent transaction server 219, which constructs and creates the web page based upon that information and transfers it back toagent module 203 for construction of the web page atpage 202 onend user machine 201. - If the request included a request for a product, log
completion module 215 transmits the request to adownload processor 224, which checks withprocess request module 211 to verify the authenticity of the request and perform a security check If the request is valid, as determined by information transmitted back fromprocess request module 211, downloadprocessor 224 securely transmits the requested product from aproduct download database 225 toend user machine 201. The transmitted product may be transmitted throughagent transaction server 219 ifend user machine 201 usesagent module 203. - The following provides a description of each database shown in FIG. 2. A
data warehouse database 221 provides log in information along with keys, which provides an index to associated information in acommerce database 223.Commerce database 223 contains data tables storing information related to products and requests, such as a product table, order table, and other such tables. Asummary database 220 provides information from the data warehouse database in summary form.Product download database 225 provides products in digital form for retrieval by the download processor. This configuration provides the advantage of storing the products without wrappers or associated passwords, and instead providing for a secure download of the products. Wrappers or associated passwords may still be used, if desired. - A site GUI/
feature control database 226 and default GUI/feature control database 227 may be accessed byprocess request module 211 and buildoutput module 213 for storage and retrieval of information related to web sites. - A credit
card fraud database 222 stores credit card transaction information, including credit card processing history, and other information for adaptive fraud screening. Such information may thus be used in performing another security check. For example, the database may store a list of stolen credit card numbers. - FIG. 3 depicts an exemplary
data processing system 300 with acomputer 301 illustrating exemplary hardware components ofend user machine 201,server 205, and an intermediate server, if used to transfer the end user's connection.Computer 301 includes a connection with anetwork 307 such as the Internet or other type of network, which may correspond withnetwork 204.Computer 301 typically includes a memory 302, asecondary storage device 304, aprocessor 305, aninput device 306, adisplay device 303, and anoutput device 308. - Memory302 may include random access memory (RAM) or similar types of memory, and it may store one or
more applications 309 for execution byprocessor 305.Applications 309 may correspond with the modules shown in FIG. 2.Secondary storage device 304 may include a hard disk drive, floppy disk drive, CD-ROM drive, or other types of non-volatile data storage, and it may correspond with the various databases shown in FIG. 2.Processor 305 may execute applications or programs stored in memory 302 orsecondary storage 304, or received from the Internet orother network 307.Input device 306 may include any device for entering information intocomputer 301, such as a keyboard, cursor-control device, or touch-screen.Display device 303 may include any type of device for presenting visual information such as, for example, a computer monitor or flat-screen display.Output device 308 may include any type of device for presenting a hard copy of information, such as a printer, and other types of output devices include speakers or any device for providing information in audio form. - Although
computer 301 is depicted with various components, one skilled in the art will appreciate that this computer can contain additional or different components. In addition, although aspects of an implementation consistent with the present invention are described as being stored in memory, one skilled in the art will appreciate that these aspects can also be stored on or read from other types of computer program products or computer-readable media, such as secondary storage devices, including hard disks, floppy disks, or CD-ROM; a carrier wave from the Internet or other network; or other forms of RAM or. ROM. The computer-readable media may include instructions for controlling a computer system, such ascomputer 301, to perform a particular method. - FIG. 4 illustrates high-
level processing 400 throughelectronic commerce system 200. Inprocess 400,web server module 207 receives a request from end user machine 201 (step 401). Log-inmodule 208 processes the request to obtain log information (step 402).Security module 209 performs a security check (step 403).Process request module 211 checks page/product cache 218 (step 405) and checkssearch cache 217, if applicable (step 406).Fraud module 210 performs payment-related functions andprocess request module 211 processes the request and usesbuild cache module 212 to build a cache, if applicable (step 407).Build output module 213 checks GUI implementation cache 216 (step 408), assembles information for responding to the request, and usesbuild cache module 214 to build a cache, if applicable (step 409). -
Log completion module 215 performs final processing of the request (step 410), and it determines if the request is a purchase request (step 411). If so, it transfers the request to download processor 224 (step 412), which securely downloads the requested product and delivers it to the end user machine 201 (step 413). If the request was not a purchase request as determined bystep 411, logcompletion module 215 delivers page and optional search information to end user machine 201 (step 414). - This feature of
electronic commerce system 200 involves providing a single transaction point for processing of electronic commerce, generally involving the series of modules shown in FIG. 2. Examples of the processing in this single transaction point include security, checking for fraud, on-line reporting, and processing orders. The benefits of providing such processing through a single transaction point typically include, for example, scalability, reliability of processing, simplicity of design by avoiding multiple disparate systems, and avoiding repeated processing. - This feature of
electronic commerce system 200 involves preventing fraud and ensuring security during electronic commerce transactions. An electronic commerce transaction involves a user electronically requesting purchase of a product and providing payment for the product. The user may receive the product electronically for digital products or may receive it by other means such as via mail service. The terms fraud and fraudulent refer to attempts by a user to obtain a product without providing proper payment, or otherwise not satisfying requirements for obtaining a product. For example, a user may attempt to use a stolen or false credit card number to obtain a product or attempt to tamper with the system so that the user obtains a product for less than the required price. As another example, certain information related to a user's order may tend to indicate that the user is likely to fail to provide payment, even if the credit card number used appears valid, andsystem 200 attempts to make that determination based on an analysis of the user's information and associated information. - The fraud detection and prevention may also involve preventing users or customers from having access to certain stored data such as credit card information and products. It involves preventing users from bypassing particular modules or processing in
system 200. Users typically interact withsystem 200 in a known manner for non-fraudulent transactions. Likewise, particular types of interaction tend to indicate that a user is attempting to circumventsystem 200 and fraudulently obtain products. Therefore,system 200 analyzes a user's interaction, as well as a user's information submitted on an order typically using an order form and related information in a database, in order to determine a likelihood or probability that the user is engaging in attempted fraud during the transaction. That determination is used as a basis to either accept or decline the order. - The fraud detection and prevention features of
system 200 generally include functions within the security and fraud (payment)modules System 200 may implementmodules secondary storage 304 for execution byprocessor 305.Modules - An exemplary implementation of
modules - This feature of
electronic commerce system 200 involves providing centralized management of host sites, managing all host sites through a central database. It may include, for example, extending a look and feel of a particular web site into another web site. For example, when an intermediate server transfers an end user's connection to a commerce network server, as described with respect to FIG. 1, the commerce network server may transmit a page having the same look and feel as the page on the intermediate server, thus providing an apparent seamless transition to the end user. - This feature also may include making local changes to a large number of managed web sites. Therefore, instead of making similar changes to each individual web site,
system 200 may broadcast those particular changes and make the corresponding changes to the managed web sites. It thus provides an advantage, for example, of easily making changes to a large number of web sites. For example, it may automatically broadcast a few particular features every week to the managed web sites in order to regularly update the sites. - This feature of
electronic commerce system 200 provides for securely storing clients' products and providing a secure download process, typically without the use of wrappers or passwords. This feature generally involving the series of modules shown in FIG. 2. It includes a database type of security intended at least to simplify the purchase process for a user. A user typically need only enter a credit card number and in response receives a requested product. - This feature of
electronic commerce system 200 concerns a dynamic cache providing for a fast page response and dynamic pages, typically guaranteeing that pages contain current information. It generally involvescaches - The complexity of product searching often affects speed of a response. Providing caching of information means that the same information need not be repeatedly retrieved from an external database and constructed into a responsive web page. Rather, the information may be cached locally and quickly retrieved in response to the same or a similar request. This feature maintains up-to-date information by knowing to create and destroy information interactively for the caches.
- An intelligent agent includes an application that resides locally on a client machine in order to perform processing specific to a user of the machine, generally involving
agent module 203 andagent transaction server 219 shown in FIG. 2. It includes at least two aspects, a pull side and a push side. The pull side involves the agent obtaining information and knowing how to link to a server and provide the information to the user in a personal way, customized for that user. It shields the user from the order process, for example, in order to simplify it. The agent may also perform system management, for example, performing a background process that scans the user's system in order to manage licensed software, perform archival control, and perform other such processing. - The push side involves making special information available to the user through the agent. For example, if the user already ordered a particular product, the agent may inform the user of any bugs in the product, product upgrades, or related products. That information is “pushed” to the agent from the server. The server may provide initial filtering of information given to the agents, and the agents perform additional filtering in order to present the information in a specific way to the user.
- Therefore, an agent manages distribution and download of files including digital products to a user's machine, as well as locating and downloading updates to files contained on the user's machine. The term “file” refers to any type of digital product. A file may include associated information concerning the file, such as a name and size, which is possibly useful for downloading purposes. Alternatively, a file may include only a digital product itself or a portion of a digital product.
- The agent can thus assist a user in managing the downloading of particular digital information, as well as provide recommendations concerning updates to files on the user's machine. An embodiment consistent with the agent may be implemented in software or program products within
agent module 203 inuser machine 201, and it may be included within agent modules on many particular end user machines interacting withserver 205. FIGS. 5-9 are flow charts of routines for implementing an agent inagent module 203. The term “agent” refers to any software or other type of application for executing the functions in FIGS. 5-9. - FIGS.10-24 are diagrams of screens supported by the routines in FIGS. 5-9. The term “screen” refers to any visual element or combinations of visual elements for displaying information; examples include, but are not limited to, user interfaces on a display device or information displayed in web pages or in windows on a display device. The screens may be formatted, for example, as web pages in HyperText Markup Language (HTML), or in any other suitable form for presentation on a display device depending upon applications used by users to interact with the system.
- The screens include various sections, as explained below, to provide information or to receive information or commands. The term “section” with respect to screens refers to a particular portion of a screen, possibly including the entire screen. Sections are selected, for example, to enter information or commands or to retrieve information or access other screens. The selection may occur, for example, by using a cursor-control device to “click on” or “double click on” the section; alternatively, sections may be selected by entering a series of key strokes or in other ways such as through voice commands or use of a touch screen. In addition, although the screens shown in FIGS.10-24 illustrate a particular arrangement and number of sections in each screen, other arrangements are possible and different numbers of sections in the screens may be used to accomplish the same or similar functions of displaying information and receiving information or commands. Also, the same section may be used for performing a number of functions, such as both displaying information and receiving a command.
- FIGS. 5a and 5 b are a flow chart of a
home screen routine 500 for the agent.Routine 500 supports ahome screen 700 shown in FIG. 10.Home screen 700 is a main screen shown to a user upon launching the agent. Inroutine 500, the agent typically resides active as a background process on a user's machine (step 502). By remaining active in the background, the agent may automatically execute certain functions, as scheduled by the user and further explained below. The user launches the agent, as determined bystep 504. The user may launch the agent in a number of ways such as, for example, selecting the agent from a start menu, executing a run command, or selecting the agent as represented by an icon in a system tray on the user's computer. If the user launches the agent, the agent displays home screen 700 (step 506). The term “eBot” is a trademark of Digital River, Inc. -
Home screen 700 includes asection 701 for use in providing information to the user and receiving information from the user. Fromhome screen 700, a user may select a function by selecting a particular section ofhome screen 700 shown in FIG. 10 (step 508). Selection of home section 704 (step 510) causes display of home screen 700 (step 530). Selection of news and deals section 706 (step 512) causes display of a news and deals screen 726 shown in FIG. 11 (step 532). News and dealsscreen 726 illustrates an example of providing particular information insection 701 to users. News and dealsscreen 726 typically includes asection 727 by which a user may connect with a particular web site as related to the information withinsection 701. The agent determines if the user selects section 727 (step 552); if so, the agent launches a web browser on the user's machine and connects with the appropriate web site (step 554). The agent may work with any type of web browser or other application executed byuser machine 201 for network or Internet communication; examples of web browsers include the Netscape Navigator program and the Microsoft Internet Explorer program. - Selection in
home screen 700 of a shopping section 708 (step 513) causes display of ashopping screen 728 shown in FIG. 12 (step 534).Shopping screen 728 permits display of information related to on-line shopping withinsection 701. In addition,shopping screen 728 typically includes a connect section 730 by which a user may connect with a particular web site. Fromshopping screen 728, the agent determines if the user selects connect section 730 (step 552); if so, the agent launches the web browser and connects with the appropriate web site for on-line shopping (step 554). The agent may store and associate connect section 730 with a URL or a uniform resource indicator (URI) for use in accessing a particular web site. - In
home screen 700, selection of a customer service section 710 (step 514) causes display of acustomer service screen 732 shown in FIG. 13 (step 536).Customer service screen 732 provides for display of information to a user concerning operation of the agent. It typically includes a plurality ofconnect sections 734 for a selection by a user in order to connect with an appropriate web site in order to obtain customer service information. Therefore, fromcustomer service screen 732 the agent determines if a user selects one of the connect sections 734 (step 552); if so, the agent launches a web browser and connects with an appropriate web site for customer service information (step 554). - From
home screen 700, selection of a privacy section 712 (step 516) causes display of aprivacy screen 736 shown in FIG. 14 (step 538).Privacy screen 736 permits display of information to a user concerning the privacy of the information used by the agent for downloading information and providing for file updates.Privacy screen 736 also typically includes connect section 730 for connection with a web site to obtain information concerning privacy. Fromprivacy screen 736 the agent determines if the user selects section 730 (step 552), and if so, the agent launches a web browser and connects with an appropriate web site for providing privacy information to a user (step 554). - From
home screen 700, selection of a general settings section 714 (step 518) causes display of general settings screen 738 shown in FIG. 15 (step 540). From general settings screen 738, the agent receives and saves settings as entered by the user, including schedule information for finding updates (step 556). In particular, general settings screen 738 includes aname section 739 in which a user may enter a name or other identifier. Selection of a section 740 permits the user to instruct the agent to search for updates on a periodic basis. In particular, the user may enter a number of days insection 741 by which they want the agent to automatically search for update to the files on the user's machine, as explained below. Using the information insection 741, the agent automatically searches for updates to the files on the user's machine using a connection withserver 205 based upon the days parameter insection 741. Instead of using a number of days parameter, the agent may alternatively search for updates on a different periodic basis such as the first day of every month, or at a particular time and day each week or month. - Selection of a
section 742 permits the user to specify a particular proxy server for downloads as entered insection 743 identifying a server and port for use with the web browser. Selection of asection 744 permits the user to specify automatic downloads such that the agent will automatically download a file without prompting the user for permission. Selection of asection 745 permits the user to instruct the agent to download from any web site on the Internet throughserver 205. Selection of asection 746 permits the user to instruct that the agent software be activated upon system start-up of the user's machine. - From
home screen 700, a selection of a tour section 716 (step 520) causes display of atour screen 748 shown in FIG. 16 (step 542).Tour screen 748 permits the agent to display information concerning its operation to the user. The user may typically obtain more information concerning operation of the agent by selecting connect section 730 in order to connect with an appropriate web site. Therefore, ontour screen 748 the agent determines if the user selects connect section 730 (step 552); if so, the agent launches a web browser and connects with an appropriate web site in order to provide information concerning its operation (step 554). - From
home screen 700, selection of a downloads section 718 (step 552) causes execution of a downloads screen routine (step 554), as further explained below. Selection of anupdates section 720 in home screen 700 (step 524) causes execution of an update screen routine (step 546), as further explained below. Abanner section 722 inhome screen 700 permits the agent to display advertising or other information to a user. The user may select the banner in order to connect with a corresponding web site and obtain more information or shop on-line for products or services. Therefore, a selection of banner section 722 (step 526) causes the agent to launch a web browser and connect with an appropriate web site as determined by network address information, such as a URL, associated with the banner (step 548). If the user selects a close section 724 (step 528), the agent closes home screen 700 (step 550). - The agent may also be programmed or instructed by the user to automatically perform downloads of files and search for file updates using time parameter information. The agent monitors a current date and time, and compares it with schedule information to detect occurrence of a particular date and time (step557). The agent can monitor a current date and time by accessing an internal calendar and clock for
user machine 201 on which it runs. - The agent determines if the user has scheduled a particular function (step558). That determination may be based upon comparing stored time parameter information as entered by a user with time information as determined by settings on a user's machine, as monitored in
step 557. If the user has scheduled a particular download for this time (step 560), the agent executes a downloads routine based on the scheduled information (step 562). If the user has scheduled an update for this time (step 564), the agent executes a find updates routine based upon the scheduled information (step 566). In order for the scheduled function to occur, the agent software typically must be active as a background process such that it is operational and the user's machine must maintain or provide for a network connection such that the agent may automatically perform the downloads and search for the file updates through the network connection without requiring further interaction by the user. - FIG. 6 is a flow chart of downloads screen routine544 activated upon the user's selection of
downloads section 718 inhome screen 700. Upon selection ofdownloads section 718, the agent displays adownloads screen 750 shown in FIG. 17 (step 568). Downloads screen 750 includes a number of sections for providing status information to a user concerning downloads 21, and for a user to instruct the agent to perform certain operations concerning downloads. Inroutine 544, a user selects a function within downloads screen 750 (step 570), and the agent in response executes the selected function. Selection of adownload section 752 causes execution of a downloads routine (step 584), as further explained below. For the download information, downloads screen 750 provides astatus section 764 having status information concerning files. In particular, a name column 766 provides a listing of file names, astatus column 768 provides identification on the status of each file, acompletion column 770 provides information concerning an amount of the file downloaded, if any, and adate section 772 provides date information concerning when the file was downloaded. -
Status section 768, as shown, provides various types of status information, such as the following: a ready status indicates that the selected file is ready to be downloaded; a downloaded status indicates that the selected file has been successfully downloaded; an in progress status indicates that the selected file is currently being downloaded withcompletion column 770 providing an indication of the percentage downloaded; a cancelled status indicates that a request to download the selected file has been cancelled. A details section 774 provides information concerning a particular selected file insection 764. The highlighting indicates that a file insection 764 has been selected by a user, and the user may select the file in the same manner that a user selects a section. - In downloads
screen 750, selection of an open/install section 754 (step 574) provides for the user to request installation of a particular file as selected instatus section 764. In response, the agent determines if the requested file has been downloaded (step 586). If the file has not been downloaded, the agent may provide an error message to the user indicating that the file must first be downloaded before it can be installed (step 588). If the file has been successfully downloaded, the agent installs the file (step 590). Installation of the file typically requires any conventional installation permitting for execution of the file byuser machine 201. Prior to installation, the agent may display an install screen 776, shown in FIG. 18, requesting that the user confirm whether to install the selected file or not through a selection of section 777 to confirm installation or selection of asection 778 cancel installation. - Selection of a scheduled
section 756 in downloads screen 750 permits the user to schedule downloading of a file selected instatus section 764. Selection of schedule section 756 (step 576) causes display of aschedule download screen 780 shown in FIG. 19 (step 592). Usingschedule download screen 780, the agent receives and stores schedule information for the selected file for downloading a selected file (step 594). Schedule information includes any type of date-based or time-based information for use in scheduling downloading of files or searching for file updates. For example, a user may enter a date indate section 781 and a time in time section 782 in order to schedule a download for the selected file. By selectingsection 783 the user confirms the schedule and by selecting a section 784 the user cancels the function. - Selection of a
remove section 758 in downloads screen 750 causes removal of a selected file instatus section 764. Upon selection of remove section 758 (step 577), the agent removes the file indication fromstatus section 764 if verified by the user (step 593). - Selection of a
help section 762 in downloads screen 750 (step 578) causes display of ahelp screen 786 shown in FIG. 20 (step 596). Downloads help screen 786 permits display of information concerning downloading of information to a user. It typically includes connect section 730 in order for the user to connect with the web site and obtain more help information. The agent determines if the user selects connect section 730 (step 598); if so, the agent launches the web browser and connects with the appropriate web site to obtain more help information (step 600). - In downloads
screen 750, selection of an updates section 720 (step 580) causes execution of an updates screen routine (step 546), as further explained below. Selection of home section 702 (step 582) causes the agent to return todisplay home screen 700 and executehome screen routine 500. - FIG. 7 is a flow chart of downloads routine584 executed upon a user's selection of
download section 752 in downloads screen 750 or based on schedule information as determined insteps download section 752, the agent displays adownload status screen 788 as shown in FIG. 21A. In downloads routine 584,server 205 typically transmits a file list to the agent (step 606). The file list provides for the identification of files instatus section 764. The list may be transmitted one time or repeatedly transmitted and updated. The user selects a file in the file list download (step 608). Alternatively, the user may have preselected a file for downloading using schedule information. The agent sends a get file request to the server, including a URL and starting point of where to begin transmission of the file (step 610). In this example, the starting point is a start byte; however, the starting point may include any type of indication of where to begin transmission of the file. The agent may optionally encrypt the request using any type of encryption routine. - If this was the first time the file is requested to be downloaded, the start byte will be zero. By tracking start bytes, the agent may maintain an indication of an amount of the file downloaded and therefore need only request to download an additional portion if the download is interrupted. In response to the get file request,
server 205 downloads the requested file to the agent by serial transmission of digital information for the file using conventional Transmission Control Protocol/Internet Protocol (TCP/IP) transmission (step 612). In this example, the serial transmission occurs through a stream of bytes for the file; however, it may occur through transmission of other forms of digital information such as, for example, bits, contiguous collections of bytes, or packets. The transmission may occur through any wireline or wireless network. - As the agent receives the file, it stores the file in a temporary folder on the user's machine such as “C:\temp\” on the hard disk drive for the user machine, and it uses a counter to track receives bytes. It also appends the bytes to a previously-received portion, if present in the temporary drive, for downloading the file in multiple portions (step614). It may store the bytes under a file name related to the file in order to detect a previously-received portion under the same name, if present. It may simultaneously store and append the bytes, or separately perform those steps. Also, instead of using the temporary drive, the agent may store the file in other drives or storage mediums.
- Table 1 provides the levels of protocol used for the transmission.
TABLE 1 level protocol 1 Agent Transfer Protocol (ATP) 2 encryption 3 TCP/IP - The ATP (level 1) includes the processing shown in downloads routine584 (FIG. 7). The encryption protocol (level 2) provides for optional encryption of the transmitted bytes using various types of encryption such as triple Data Encryption Standard, referred to as 3DES. Level 3 includes the standard TCP/IP transmission of data over the Internet.
- While the file is being downloaded, the agent displays and continually updates download status screen788 (step 616).
Download status screen 788, in particular, includes a file identification section 789 providing for identification of the file being downloaded, astatus section 790 providing for an indication of the status of the file, whether a new download or a continued download, and asection 791 providing for additional status information such as a size of the file and an estimated remaining time to completion of the download.Section 791 also provides a visual indication of download in progress by continuously displaying the current number of bytes downloaded along with the total number to be downloaded. A section 792 provides for another visual indication of the download as in progress. In particular, it provides for an expanding status bar displaying essentially in realtime a relative indication of the amount that the file is downloaded. The status bar moves, for example, from left to right filling up section 792 until the file is completely downloaded. Selection of a cancel section 793 permits the user to cancel the download. - The agent may track a percentage or a relative amount downloaded by tracking received bytes and by knowing in advance a file size corresponding with the file. For example, conventional operating systems such as the Microsoft Windows program includes the ability to store file sizes in bytes associated with file names and potentially other information associated with the file such as a type of file and when the file was last modified. The agent continuously divides the received number of bytes by the file size in bytes to display the status bar and the percent downloaded.
- Interruption of the transmission may occur in a number of ways such as, for example, through a user's selection of cancel section793 in
download status screen 788, through any type of loss of the network connection, or through software or web browser failure. For example, transmission interruption may occur if a user turns off power to the user machine, if the user machine otherwise experiences a loss of power, if the user disconnects it from the network, if a server or router for network transmission fails, or through any other type of software or hardware failure. - If the transmission was interrupted (step618), the agent requests whether the user wishes to continue downloading (step 620). For example, the agent may display a continue
download screen 794 as shown in FIG. 21B. Continuedownload screen 794 includes a section 796 for the user to select in order to continue the download and asection 798 for the user to select in order to not continue the download at this time. If the agent continues to download the same file at another time, it may search for the same file name in the temporary folder, along with the associated start byte number, in order to download only the remaining portion and append it to the previously-received portion before the interruption occurred. Continuedownload screen 794 may alternatively include another option to cancel the download and delete the portion of the file already received. - If the user wants to continue transmission (step622), the agent sends another get file request including a URL of the file and start byte (step 610). Since the agent tracks received bytes, it may now continue transmission by the next start byte following the last byte received. In particular, the agent sets the starting byte to the number of the last byte successfully received plus one. The download process then continues in
steps - Once the agent receives the EOF indication, it has successfully downloaded the file, and it requests whether the user wishes to install the file (step628). The agent may, for example, display installation screen 776 (FIG. 18) in order to request installation. If the user does not request installation, the agent stores the file on the desktop (step 632), and the user may, at a later time, request installation. Otherwise, if installation is requested, the user installs the file by performing the necessary processing so that the file is executable by the user (step 630).
- Throughout the downloads routine, the agent saves and updates the status in
download status section 764 in downloads screen 750 for the particular file being processed (step 624). Updating the status provides for changing the status instatus column 768 for the corresponding file in order to indicate its status, as well as providing an indication of the amount downloaded incompletion column 770 and an indication of the date when last downloaded indate column 772. - FIG. 8 is a flow chart of updates screen routine546 executed upon a user's selection of
updates section 720 inhome screen 700 ordownloads screen 750. Inroutine 546, the agent displays anupdates screen 795, shown in FIG. 22, upon a user's selection of updates section 720 (step 634). Within updates screen 795, the user selects a particular function (step 636) and the agent in response executes the requested function. Updates screen 795 includes an update status section 802 providing for information concerning updates to particular files. In particular, aname column 803 provides an identification of a file name and, as shown indented, an indication of updates to the corresponding files. Aprice column 804 indicates a price for the particular update, and atype column 805 indicates that type of update such as an add-on. Adetails section 806 provides for information concerning the particular highlighted (selected) update in update status section 802. - In
updates screen routine 546, selection of download section 797 (step 638) causes execution of downloads routine 584 (FIG. 7) for the selected update (step 650). A selected update is shown with highlighting, for example, and a user may select an update in the same manner as selecting a section. Selection of a find updates section 799 (step 640) causes execution of a find updates routine as further explained below (step 652). Selection of a remove section 801 (step 642) causes the agent to remove a file or update selected by user, if the user verifies the removal (step 654). Selection of a help section 807 (step 644) causes display of ahelp screen 808 shown in FIG. 23 (step 656).Help screen 808 provides for display of information to the user concerning finding updates for files.Help screen 808 specifically includes connect section 730 for a user to connect with an appropriate web site in order to obtain more help information. Fromhelp screen 808 the agent determines if the user selects connect section 730 (step 658); if so, the agent launches the web browser and connects with the appropriate web site in order to obtain more help information (step 660). - Selection of
downloads section 718 in updates screen 795 (step 646) causes the agent to execute downloads screen routine 544 (FIG. 6). Selection of home section 702 (step 648) causes the agent to displayhome screen 700 and execute home screen routine 500 (FIGS. 5a and 5 b). - FIGS. 9a and 9 b are a flow chart of find updates routine 652 executed upon selection of
find updates section 799 in updates screen 795 or based upon schedule information. Find updates routine 652 permits the agent through interaction withserver 205 to automatically search for updates to particular files. The agent and server use application signatures in order to uniquely identify the files stored on a user system. By uniquely identifying those files, the server may determine whether updates exist for particular files. The use of application signatures is particularly useful when files have many different versions, as often exists for software applications, and the server must determine whether an update exists for a particular version of the file on a user machine. The term “application signature” refers to any information used to uniquely identify a file, an example of which is provided below. - In find updates routine652, the user selects find update section 799 (step 666). The agent may include an end user license agreement for the user. If it has an end user agreement, the agent determines if this is the first time the user has requested to find updates (step 668); if so, the agent displays an end user license agreement (step 670) and determines if the user accepts the agreement (step 672). The agent may be configured to only look for updates if the user has accepted the end user license agreement. Alternatively, the agent may operate without an end user license agreement or with varying versions of such agreement.
- Based upon a user's selection of
find updates section 799 or upon schedule information as determined insteps server 205 with application signatures (step 676). - In this example, the application signatures include a file name and corresponding size in bytes. Certain windows applications, for example, provide file name and size information, and the agent may obtain the file name and size information from such an application or generate the information itself. For certain files, different versions of the executable file may have the same size and, therefore, the executable file name plus size will not alone uniquely identify a particular version. In that case, the agent and server may also use corresponding dynamic link library file names plus associated sizes to construct the application signatures, and for that signature to match, both the executable file name and size, and dynamic link library file name and size, must match a stored signature. Driver files may be used in the application signature in the same manner, requiring a match between driver file names and sizes in addition to the matches between other types of file names and sizes. Therefore, an application signature in this example may include multiple file names and associated sizes for a particular file. Various types of files associated with a single file may be used to generate a unique application signature, depending upon application signatures already stored in the server database.
-
Server 205 uses the application signature to determine if updates exist for the corresponding files (step 678). In particular, the server selects an application signature (step 680) and determines if a match exists in an updates database by individually comparing the received file names and associated sizes with stored file names and associated sizes (step 682). If a match exists, the server retrieves the corresponding update information (step 684). Update information includes any type of indication of updates to files. The server may include links to a different database including the update information based upon the application signature. The server then determines if more application signatures exist to be processed (step 686); if so, it returns to step 680 to process additional application signatures. After processing all of the application signatures, the server sends to the agent a file information-response with recommended updates from the retrieved update information (step 688). The server also checks if the update recommendation is on the user's machine; if so, it skips the update. - The agent presents an indication of the recommended updates to the user, for example, as shown in update status section802 in updates status screen 795 (step 689). The agent determines if the user selects an update to be downloaded (step 690). For example, user may select an update and then select
download section 797 in order to download that update. If the user requests to download an update, the agent executes the download routine 584 (FIG. 7) to download the selected update (step 692). - While the-agent executes processing to find the updates, it displays update information in an
update status screen 810 shown in FIG. 24 (step 693). In particular,update status screen 810 includes asection 811 for the agent to indicate status of preparing to search, a section 812 indicating that it is scanning the user system to obtain particular hardware information and file information, asection 813 to indicate that it is checking for updates with the server, and a section 814 indicating that it has received update information from the server and is compiling the results. In this example, the status of each section is indicated by a check-mark displayed in the corresponding box. A cancel section 815 permits the user to cancel the selected function. - In find updates routine652,
steps - While the present invention has been described in connection with an exemplary embodiment, it will be understood that many modifications will be readily apparent to those skilled in the art, and this application is intended to cover any adaptations or variations thereof. For example, different labels for the various modules and databases, and various hardware embodiments for the servers and machines, may be used without departing from the scope of the invention. This invention should be limited only by the claims and equivalents thereof.
Claims (122)
1. A method for selectively downloading a file in multiple portions, at least a portion of the file having been previously received, comprising:
transmitting a request to download a file, the request including an identification of the file and an indication of starting point for transmission of the file;
receiving a serial transmission of digital information for the file beginning at the starting point;
appending the digital information to the previously-received portion of the file; and
storing the received digital information.
2. The method of claim 1 wherein the receiving step includes receiving a stream of bytes.
3. The method of claim 2 wherein the storing step includes storing the received bytes in a temporary folder.
4. The method of claim 2 wherein the transmitting step includes transmitting a start byte number as the indication of the starting point.
5. The method of claim 1 , further including providing a visual indication of an amount of the file downloaded.
6. The method of claim 1 wherein the providing step includes displaying an expanding status bar that provides in realtime an indication of the amount of the file downloaded during the receiving step.
7. The method of claim 5 , further including providing an indication that the entire file has been downloaded.
8. The method of claim 1 , further including selectively installing the file after completion of the downloading.
9. The method of claim 1 wherein the transmitting step includes transmitting a uniform resource locator as the identification of the file.
10. The method of claim 1 , further including receiving an end of file indication upon completion of the downloading of the entire file.
11. The method of claim 2 , further including tracking numbers of bytes transmitted for the file.
12. The method of claim 1 wherein the transmitting step includes transmitting the indication of the starting point based upon a size of the previously-received portion of the file.
13. The method of claim 1 , further including displaying a status of the downloading of the file.
14. The method of claim 13 wherein the displaying step includes displaying in indication that the file is ready to be downloaded, in progress during a download, successfully downloaded, or has a canceled download.
15. The method of claim 13 , further including receiving settings for parameters related to control of the downloading of the file.
16. A method for scheduling downloading of a file, comprising:
receiving an identification of a file to be downloaded;
receiving schedule information identifying a time to download the file; and
automatically downloading the file based upon the schedule information.
17. The method of claim 16 wherein the automatically downloading step includes:
transmitting a request to download the file, the request including an identification of the file and an indication of starting point for transmission of the file;
receiving a serial transmission of digital information for the file beginning at the starting point;
appending the digital information to a previously-received portion of the file, if present; and
storing the received digital information.
18. The method of claim 16 wherein:
the receiving schedule information step includes receiving information specifying a particular date and time; and
the automatically downloading step includes:
detecting occurrence of the particular date and time; and
downloading the file based upon the detecting the occurrence.
19. The method of claim 16 wherein the receiving schedule information step includes receiving information identifying a date and time to download the file.
20. A method for providing updates to files stored on a user's machine, comprising:
scanning a memory associated with a user's machine to detect particular files;
obtaining identifications of the particular files based upon the scanning;
constructing a message including the identifications of the particular files;
transmitting the message to a server; and
receiving from the server an indication of update information associated with the particular files based upon the identification of the particular files.
21. The method of claim 20 wherein:
the obtaining step includes generating application signatures uniquely identifying the particular files; and
the constructing step includes compiling the application signatures into the message.
22. The method of claim 21 wherein the generating step includes compiling as the application signatures for each of the particular files a name of the file and an associated size of the file.
23. A method for scheduling searching for updates to files, comprising:
receiving schedule information identifying a time to request updates to particular files; and
automatically requesting the updates based upon the schedule information, the step of automatically requesting including:
scanning a memory associated with a user's machine to detect particular files;
obtaining identifications of the particular files based upon the scanning;
constructing a message including the identifications of the particular files;
transmitting the message to a server; and
receiving from the server an indication of update information associated with the particular files based upon the identification of the particular files.
24. The method of claim 23 wherein the receiving step includes receiving an indication of a time to request the updates on a periodic basis.
25. A method for using application signatures in order to uniquely identify files, comprising:
receiving an identification of a particular file;
receiving a size of the particular file;
associating the identification with the size as an application signature for the file; and
transmitting the identification with the size as the application signature for use in uniquely identifying the file for processing related to the file.
26. The method of claim 25 wherein the receiving the identification step includes receiving a name for the file.
27. The method of claim 25 wherein the receiving the identification step includes receiving a name of an executable file related to the file.
28. The method of claim 25 wherein the receiving the identification step includes receiving a name of a dynamic link library file related to the file.
29. The method of claim 25 wherein the receiving the size step includes receiving a number of bytes for the file.
30. The method of claim 25 wherein the associating step includes compiling the identification and the size into a message.
31. The method of claim 25 wherein the transmitting step includes transmitting a request for update information for the file using the application signature.
32. The method of claim 25 , further including:
receiving the application signature;
comparing the received application signature with a plurality of particular application signatures; and
transmitting an indication of update information related to the file if the comparing step detects a match between the received application signature and one of the plurality of particular application signatures.
33. The method of claim 32 wherein the comparing step includes individually comparing the identification and the size in the received application signature with file identifications and corresponding file sizes in the plurality of particular application signatures.
34. An apparatus for selectively downloading a file in multiple portions, at least a portion of the file having been previously received, comprising:
a transmission module for transmitting a request to download a file, the request including an identification of the file and an indication of starting point for transmission of the file;
a receive module for receiving a serial transmission of digital information for the file beginning at the starting point;
a module for appending the digital information to the previously-received portion of the file; and
a store module for storing the received digital information.
35. The apparatus of claim 34 wherein the receive module includes a module for receiving a stream of bytes.
36. The apparatus of claim 35 wherein the store module includes a module for storing the received bytes in a temporary folder.
37. The apparatus of claim 35 wherein the transmission module includes a module for transmitting a start byte number as the indication of the starting point.
38. The apparatus of claim 34 , further including a provide module for providing a visual indication of an amount of the file downloaded.
39. The apparatus of claim 34 wherein the provide module includes a module for displaying an expanding status bar that provides in realtime an indication of the amount of the file downloaded during the receiving.
40. The apparatus of claim 38 , further including a module for providing an indication that the entire file has been downloaded.
41. The apparatus of claim 34 , further including a module for selectively installing the file after completion of the downloading.
42. The apparatus of claim 34 wherein the transmission module includes a module for transmitting a uniform resource locator as the identification of the file.
43. The apparatus of claim 34 , further including a module for receiving an end of file indication upon completion of the downloading of the entire file.
44. The apparatus of claim 35 , further including a module for tracking numbers of bytes transmitted for the file.
45. The apparatus of claim 34 wherein the transmission module includes a module for transmitting the indication of the starting point based upon a size of the previously-received portion of the file.
46. The apparatus of claim 34 , further including a display module for displaying a status of the downloading of the file.
47. The apparatus of claim 46 wherein the display module includes a module for displaying in indication that the file is ready to be downloaded, in progress during a download, successfully downloaded, or has a canceled download.
48. The apparatus of claim 46 , further including a module for receiving settings for parameters related to control of the downloading of the file.
49. An apparatus for scheduling downloading of a file, comprising:
a module for receiving an identification of a file to be downloaded;
a module for receiving schedule information identifying a time to download the file; and
a download module for automatically downloading the file based upon the schedule information.
50. The apparatus of claim 49 wherein the download module includes:
a transmission module for transmitting a request to download the file, the request including an identification of the file and an indication of starting point for transmission of the file;
a receive module for receiving a serial transmission of digital information for the file beginning at the starting point;
a module for appending the digital information to a previously-received portion of the file, if present; and
a store module for storing the received digital information.
51. The apparatus of claim 49 wherein:
the module for receiving schedule information includes a module for receiving information specifying a particular date and time; and
the download module includes:
a module for detecting occurrence of the particular date and time; and
a module for downloading the file based upon the detecting the occurrence.
52. The apparatus of claim 49 wherein the module for receiving schedule information includes a module for receiving information identifying a date and time to download the file.
53. An apparatus for providing updates to files stored on a user's machine, comprising:
a scan module for scanning a memory associated with a user's machine to detect particular files;
a module for obtaining identifications of the particular files based upon the scanning;
a construction module for constructing a message including the identifications of the particular files;
a transmission module for transmitting the message to a server; and
a receive module for receiving from the server an indication of update information associated with the particular files based upon the identification of the particular files.
54. The apparatus of claim 53 wherein:
the module for obtaining includes a module for generating application signatures uniquely identifying the particular files; and
the construction module includes a module for compiling the application signatures into the message.
55. The apparatus of claim 54 wherein the module for generating includes a module for compiling as the application signatures for each of the particular files a name of the file and an associated size of the file.
56. An apparatus for scheduling searching for updates to files, comprising:
a receive module for receiving schedule information identifying a time to request updates to particular files; and
a request module for automatically requesting the updates based upon the schedule information, the request module including:
a scan module for scanning a memory associated with a user's machine to detect particular files;
a module for obtaining identifications of the particular files based upon the scanning;
a construction module for constructing a message including the identifications of the particular files;
a transmission module for transmitting the message to a server; and
a receive module for receiving from the server an indication of update information associated with the particular files based upon the identification of the particular files.
57. The apparatus of claim 56 wherein the receive module includes a module for receiving an indication of a time to request the updates on a periodic basis.
58. An apparatus for using application signatures in order to uniquely identify files, comprising:
an identification module for receiving an identification of a particular file;
a size module for receiving a size of the particular file;
a module for associating the identification with the size as an application signature for the file; and
a transmission module for transmitting the identification with the size as the application signature for use in uniquely identifying the file for processing related to the file.
59. The apparatus of claim 58 wherein the identification module includes a module for receiving a name for the file.
60. The apparatus of claim 58 wherein the identification module includes a module for receiving a name of an executable file related to the file.
61. The apparatus of claim 58 wherein the identification module includes a module for receiving a name of a dynamic link library file related to the file.
62. The apparatus of claim 58 wherein the size module includes a module for receiving a number of bytes for the file.
63. The apparatus of claim 58 wherein the module for associating includes a module for compiling the identification and the size into a message.
64. The apparatus of claim 58 wherein the transmission module includes a module for transmitting a request for update information for the file using the application signature.
65. The apparatus of claim 58 , further including:
a module for receiving the application signature;
a compare module for comparing the received application signature with a plurality of particular application signatures; and
a module for transmitting an indication of update information related to the file if the comparing detects a match between the received application signature and one of the plurality of particular application signatures.
66. The apparatus of claim 65 wherein the comparing module includes a module for individually comparing the identification and the size in the received application signature with file identifications and corresponding file sizes in the plurality of particular application signatures.
67. A computer program product, comprising:
a computer-readable medium containing instructions for controlling a computer system to perform a method for selectively downloading a file in multiple portions, at least a portion of the file having been previously received, the method including:
transmitting a request to download a file, the request including an identification of the file and an indication of starting point for transmission of the file;
receiving a serial transmission of digital information for the file beginning at the starting point;
appending the digital information to the previously-received portion of the file; and
storing the received digital information.
68. The computer program product of claim 67 wherein the receiving step includes receiving a stream of bytes.
69. The computer program product of claim 68 wherein the storing step includes storing the received bytes in a temporary folder.
70. The computer program product of claim 68 wherein the transmitting step includes transmitting a start byte number as the indication of the starting point.
71. The computer program product of claim 67 , further including providing a visual indication of an amount of the file downloaded.
72. The computer program product of claim 67 wherein the providing step includes displaying an expanding status bar that provides in realtime an indication of the amount of the file downloaded during the receiving step.
73. The computer program product of claim 71 , further including providing an indication that the entire file has been downloaded.
74. The computer program product of claim 67 , further including selectively installing the file after completion of the downloading.
75. The computer program product of claim 67 wherein the transmitting step includes transmitting a uniform resource locator as the identification of the file.
76. The computer program product of claim 67 , further including receiving an end of file indication upon completion of the downloading of the entire file.
77. The computer program product of claim 68 , further including tracking numbers of bytes transmitted for the file.
78. The computer program product of claim 67 wherein the transmitting step includes transmitting the indication of the starting point based upon a size of the previously-received portion of the file.
79. The computer program product of claim 67 , further including displaying a status of the downloading of the file.
80. The computer program product of claim 79 wherein the displaying step includes displaying in indication that the file is ready to be downloaded, in progress during a download, successfully downloaded, or has a canceled download.
81. The computer program product of claim 80 , further including receiving settings for parameters related to control of the downloading of the file.
82. A computer program product, comprising:
a computer-readable medium containing instructions for controlling a computer system to perform a method for scheduling downloading of a file, the method including:
receiving an identification of a file to be downloaded;
receiving schedule information identifying a time to download the file; and
automatically downloading the file based upon the schedule information.
83. The computer program product of claim 82 wherein the automatically downloading step includes:
transmitting a request to download the file, the request including an identification of the file and an indication of starting point for transmission of the file;
receiving a serial transmission of digital information for the file beginning at the starting point;
appending the digital information to a previously-received portion of the file, if present; and
storing the received digital information.
84. The computer program product of claim 82 wherein:
the receiving schedule information step includes receiving information specifying a particular date and time; and
the automatically downloading step includes:
detecting occurrence of the particular date and time; and
downloading the file based upon the detecting the occurrence.
85. The computer program product of claim 82 wherein the receiving schedule information step includes receiving information identifying a date and time to download the file.
86. A computer program product, comprising:
a computer-readable medium containing instructions for controlling a computer system to perform a method for providing updates to files stored on a user's machine, the method including:
scanning a memory associated with a user's machine to detect particular files;
obtaining identifications of the particular files based upon the scanning;
constructing a message including the identifications of the particular files;
transmitting the message to a server; and
receiving from the server an indication of update information associated with the particular files based upon the identification of the particular files.
87. The computer program product of claim 86 wherein:
the obtaining step includes generating application signatures uniquely identifying the particular files; and
the constructing step includes compiling the application signatures into the message.
88. The computer program product of claim 87 wherein the generating step includes compiling as the application signatures for each of the particular files a name of the file and an associated size of the file.
89. A computer program product, comprising:
a computer-readable medium containing instructions for controlling a computer system to perform a method for scheduling searching for updates to files, the method including:
receiving schedule information identifying a time to request updates to particular files; and
automatically requesting the updates based upon the schedule information, the step of automatically requesting including:
scanning a memory associated with a user's machine to detect particular files;
obtaining identifications of the particular files based upon the scanning;
constructing a message including the identifications of the particular files;
transmitting the message to a server; and
receiving from the server an indication of update information associated with the particular files based upon the identification of the particular files.
90. The computer program product of claim 89 wherein the receiving step includes receiving an indication of a time to request the updates on a periodic basis.
91. A computer program product, comprising:
a computer-readable medium containing instructions for controlling a computer system to perform a method for using application signatures in order to uniquely identify files, the method including:
receiving an identification of a particular file;
receiving a size of the particular file;
associating the identification with the size as an application signature for the file; and
transmitting the identification with the size as the application signature for use in uniquely identifying the file for processing related to the file.
92. The computer program product of claim 91 wherein the receiving the identification step includes receiving a name for the file.
93. The computer program product of claim 91 wherein the receiving the identification step includes receiving a name of an executable file related to the file.
94. The computer program product of claim 91 wherein the receiving the identification step includes receiving a name of a dynamic link library file related to the file.
95. The computer program product of claim 91 wherein the receiving the size step includes receiving a number of bytes for the file.
96. The computer program product of claim 91 wherein the associating step includes compiling the identification and the size into a message.
97. The computer program product of claim 91 wherein the transmitting step includes transmitting a request for update information for the file using the application signature.
98. The computer program product of claim 91 , further including:
receiving the application signature;
comparing the received application signature with a plurality of particular application signatures; and
transmitting an indication of update information related to the file if the comparing step detects a match between the received application signature and one of the plurality of particular application signatures.
99. The computer program product of claim 98 wherein the comparing step includes individually comparing the identification and the size in the received application signature with file identifications and corresponding file sizes in the plurality of particular application signatures.
100. A screen for use in electronically displaying information related to downloading files, comprising:
a screen for display on a display device;
an information section in the screen for displaying information related to downloading files; and
a download section in the screen for selection by a user to access functions related to downloading files.
101. The screen of claim 100 , further including an updates section in the screen for selection by a user to access functions related to obtaining update information for the files.
102. The screen of claim 100 , further including:
a news section in the screen for selection by a user to access information related to files available for downloading;
a shopping section in the screen for selection by a user to access on-line shopping;
a customer service section in the screen for selection by a user to access information concerning customer service support related to downloading files;
a privacy section in the screen for selection by a user to access information related to privacy of information used in downloading files; and
a tour section in the screen for selection by a user to access information related to operation of downloading files.
103. The screen of claim 100 , further including a banner section for displaying an advertisement.
104. The screen of claim 100 , further including a settings section for selection by a user in order to access a settings screen for use in receiving information for parameters related to downloading files.
105. The screen of claim 100 , further including a downloads screen, displayed upon selection of the download section, for use in receiving commands and displaying status information related to downloading files.
106. The screen of claim 105 , further including a downloads status section for displaying the status information, the downloads status section displaying identifications for a plurality of a files and indications of a status for each of the files.
107. The screen of claim 106 wherein the download status section includes a section for displaying, as the indications of the status, a ready status, a downloaded status, an in progress status, or a canceled status.
108. The screen of claim 105 wherein the downloads screen includes a download section for selection by a user to initiate downloading of a particular file.
109. The screen of claim 105 wherein the downloads screen includes an install section for selection by a user to initiate installation of a particular downloaded file.
110. The screen of claim 105 wherein the downloads screen includes a remove section for selection by a user to remove a particular file.
111. The screen of claim 105 wherein the downloads screen includes a schedule section for selection by a user to schedule downloading of a particular file.
112. The screen of claim 111 , further including a schedule downloads screen, displayed upon selection of the schedule section, for receiving schedule information used to automatically download the particular file at a particular time.
113. The screen of claim 112 wherein the schedule downloads screen includes for receiving the schedule information a date section for receiving date information and a time section for receiving time information.
114. The screen of claim 100 , further including a status screen for displaying status of downloading of a file while the downloading is in progress.
115. The screen of claim 100 wherein the status screen includes a section for indicating a relative amount of the file downloading while the downloading is in progress.
116. The screen of claim 101 , further including updates screen, displayed upon selection of the updates section, for use in receiving commands and displaying status information related to updates for files.
117. The screen of claim 116 , further including a find updates section for selection by a user in order to initiate a search for updates to files.
118. The screen of claim 116 , further including an update status section for displaying status information related to updates.
119. The screen of claim 118 wherein the update status section includes a section for displaying, as indications of the status information, an identification of a file and an identification of an update for the file.
120. The screen of claim 119 wherein the update status section includes the section for displaying, as the indications of the status information, an identification of a price for the update and an identification of a type of the update.
121. The screen of claim 117 , further including an update status screen, displayed upon selection of the find updates section, for displaying status of the search for updates while the search is in progress.
122. A method for selectively downloading a file in multiple portions, comprising:
downloading a first portion of the file;
subsequently transmitting a request to continue downloading the file;
downloading a second portion of the file; and
appending the first portion of the file to the second portion of the file.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/396,098 US20030195974A1 (en) | 1998-12-04 | 2003-03-25 | Apparatus and method for scheduling of search for updates or downloads of a file |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11095298P | 1998-12-04 | 1998-12-04 | |
US09/372,253 US7058597B1 (en) | 1998-12-04 | 1999-08-11 | Apparatus and method for adaptive fraud screening for electronic commerce transactions |
US49284600A | 2000-01-27 | 2000-01-27 | |
US10/396,098 US20030195974A1 (en) | 1998-12-04 | 2003-03-25 | Apparatus and method for scheduling of search for updates or downloads of a file |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US49284600A Division | 1998-12-04 | 2000-01-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
US20030195974A1 true US20030195974A1 (en) | 2003-10-16 |
Family
ID=28794893
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/396,098 Abandoned US20030195974A1 (en) | 1998-12-04 | 2003-03-25 | Apparatus and method for scheduling of search for updates or downloads of a file |
US10/403,359 Abandoned US20030212992A1 (en) | 1998-12-04 | 2003-03-31 | Apparatus and method for using application signatures for the identification of files |
US13/458,367 Expired - Lifetime US9817650B2 (en) | 1998-12-04 | 2012-04-27 | Scheduling of a file download and search for updates |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/403,359 Abandoned US20030212992A1 (en) | 1998-12-04 | 2003-03-31 | Apparatus and method for using application signatures for the identification of files |
US13/458,367 Expired - Lifetime US9817650B2 (en) | 1998-12-04 | 2012-04-27 | Scheduling of a file download and search for updates |
Country Status (1)
Country | Link |
---|---|
US (3) | US20030195974A1 (en) |
Cited By (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030050957A1 (en) * | 2001-09-07 | 2003-03-13 | Atul Hatalkar | Delegating scheduling tasks to clients |
US20030140104A1 (en) * | 2000-12-06 | 2003-07-24 | Yuko Watanabe | Apparatus and method for providing contents |
US20040054995A1 (en) * | 2002-09-14 | 2004-03-18 | Samsung Electronics Co., Ltd. | Method of updating firmware |
US20040139173A1 (en) * | 2002-12-11 | 2004-07-15 | Jeyhan Karaoguz | Media processing system automatically offering access to newly available media in a media exchange network |
US20050034151A1 (en) * | 2003-08-08 | 2005-02-10 | Maven Networks, Inc. | System and method of integrating video content with interactive elements |
US20050080846A1 (en) * | 2003-09-27 | 2005-04-14 | Webhound, Inc. | Method and system for updating digital content over a network |
US20050131983A1 (en) * | 2003-07-28 | 2005-06-16 | Limelight Networks, Llc | Consistent browser file download |
US20050132083A1 (en) * | 2003-07-28 | 2005-06-16 | Limelight Networks, Llc | Multiple object download |
US20050262546A1 (en) * | 2004-05-19 | 2005-11-24 | Yasuhiro Murase | Content supply system, content supply apparatus and method, content playback apparatus and method, and program |
US20060015815A1 (en) * | 2004-07-16 | 2006-01-19 | Yamaha Corporation | Contents managing apparatus and program for the same |
US20060026165A1 (en) * | 2004-07-19 | 2006-02-02 | Microsoft Corporation | Remote file updates through remote protocol |
US20060031785A1 (en) * | 2003-10-03 | 2006-02-09 | Limelight Networks, Llc | Rich content download |
US20060168098A1 (en) * | 2004-12-27 | 2006-07-27 | International Business Machines Corporation | Service offering for the delivery of partial information with a restore capability |
US20060248215A1 (en) * | 2005-04-28 | 2006-11-02 | Kabushiki Kaisha Toshiba | Information processing apparatus and information processing method |
US7191436B1 (en) * | 2001-03-08 | 2007-03-13 | Microsoft Corporation | Computer system utility facilitating dynamically providing program modifications for identified programs |
US20070162538A1 (en) * | 2005-04-15 | 2007-07-12 | Sung-Woo Kim | System and method of providing contents for mobile communication terminal |
US20070177587A1 (en) * | 2006-01-27 | 2007-08-02 | Gardner Paul A | Systems and methods for distributing data |
US20070208829A1 (en) * | 2005-04-15 | 2007-09-06 | Sung-Woo Kim | System and method for providing continuous downloading service of large size contents through wireless network and record media recored program for realizing the same |
US20070276767A1 (en) * | 2005-04-15 | 2007-11-29 | Sung-Woo Kim | Method for providing contents |
US20070294429A1 (en) * | 2006-06-19 | 2007-12-20 | Gerhard Dietrich Klassen | Device transfer of a server stored data item based on item ID and determined nature of intended destination |
US20080109823A1 (en) * | 2006-11-06 | 2008-05-08 | Lloyd Thomas Whitfield | Methods, systems, and computer products for download status notification |
US20090125618A1 (en) * | 2007-11-13 | 2009-05-14 | Intuit Inc. | Open platform for managing an agent network |
US20100077056A1 (en) * | 2008-09-19 | 2010-03-25 | Limelight Networks, Inc. | Content delivery network stream server vignette distribution |
US7797064B2 (en) | 2002-12-13 | 2010-09-14 | Stephen Loomis | Apparatus and method for skipping songs without delay |
US20100333080A1 (en) * | 2009-06-25 | 2010-12-30 | Keys Gregory C | Peer-to-peer method of deploying and managing executable code and associated plug-ins |
WO2011002496A1 (en) * | 2009-06-29 | 2011-01-06 | Michael Domenic Forte | Asynchronous motion enabled data transfer techniques for mobile devices |
US20110061082A1 (en) * | 2009-09-04 | 2011-03-10 | Lg Electronics Inc. | Method for partly updating software in network television |
US7912920B2 (en) | 2002-12-13 | 2011-03-22 | Stephen Loomis | Stream sourcing content delivery system |
US7937488B2 (en) | 2002-12-13 | 2011-05-03 | Tarquin Consulting Co., Llc | Multimedia scheduler |
US7975019B1 (en) * | 2005-07-15 | 2011-07-05 | Amazon Technologies, Inc. | Dynamic supplementation of rendered web pages with content supplied by a separate source |
US7975020B1 (en) * | 2005-07-15 | 2011-07-05 | Amazon Technologies, Inc. | Dynamic updating of rendered web pages with supplemental content |
US20110173254A1 (en) * | 2005-04-08 | 2011-07-14 | Pablo Hernandez | System and method for scheduling device management |
US8090863B2 (en) | 2010-04-07 | 2012-01-03 | Limelight Networks, Inc. | Partial object distribution in content delivery network |
US20120016850A1 (en) * | 2003-05-22 | 2012-01-19 | Carmenso Data Limited Liability Company | Notifying Users of File Updates on Computing Devices Using Content Signatures |
US20120023528A1 (en) * | 2010-07-23 | 2012-01-26 | Verizon Patent And Licensing, Inc. | State-based recovery system |
US20120266075A1 (en) * | 2003-07-28 | 2012-10-18 | Limilight Networks, Inc. | Rich content download |
US20120316873A1 (en) * | 2011-06-09 | 2012-12-13 | Samsung Electronics Co. Ltd. | Method of providing information and mobile telecommunication terminal thereof |
US8370452B2 (en) | 2010-12-27 | 2013-02-05 | Limelight Networks, Inc. | Partial object caching |
CN102947793A (en) * | 2010-06-14 | 2013-02-27 | 索尼电脑娱乐公司 | Information processing device |
US20140052652A1 (en) * | 2006-10-31 | 2014-02-20 | Core Wireless Licensing S.A.R.L. | Legal text distribution and processing in mobile broadcasting |
US20140123037A1 (en) * | 2012-10-29 | 2014-05-01 | Samsung Electronics Co., Ltd. | Apparatus and method for displaying loading state of web browser in portable terminal |
US8805966B2 (en) | 2003-07-28 | 2014-08-12 | Limelight Networks, Inc. | Rich content download |
US20140304730A1 (en) * | 2007-08-03 | 2014-10-09 | Ty Lettau | Methods and apparatus for mandatory video viewing |
US8892686B1 (en) | 2013-12-19 | 2014-11-18 | Limelight Networks, Inc. | Dynamic content transformation for multiple devices |
US9032385B2 (en) | 2011-12-28 | 2015-05-12 | Lg Electronics Inc. | Mobile terminal and control method thereof |
US20160100025A1 (en) * | 2014-10-01 | 2016-04-07 | Rachel Ebner | Ui framework support for portal systems |
US20180081508A1 (en) * | 2004-11-09 | 2018-03-22 | Blackberry Limited | Dynamic bar oriented user interface |
JP2018120269A (en) * | 2017-01-23 | 2018-08-02 | キヤノン株式会社 | Information processing device, information processing method and program |
US20180349125A1 (en) * | 2017-06-01 | 2018-12-06 | Canon Kabushiki Kaisha | Information processing apparatus and program management method |
CN110430279A (en) * | 2019-08-14 | 2019-11-08 | 平安普惠企业管理有限公司 | File download control method and device |
CN112241278A (en) * | 2019-07-19 | 2021-01-19 | 伊姆西Ip控股有限责任公司 | Method, apparatus and computer program product for updating software |
US20210051190A1 (en) * | 2009-09-22 | 2021-02-18 | Qualcomm Incorporated | Enhanced block-request streaming using block partitioning or request controls for improved client-side handling |
US11049614B2 (en) | 2013-03-15 | 2021-06-29 | Tandem Diabetes Care, Inc. | Field update of an ambulatory infusion pump system |
US11488549B2 (en) | 2008-05-02 | 2022-11-01 | Tandem Diabetes Care, Inc. | Display for pump |
US11683700B2 (en) | 2020-12-14 | 2023-06-20 | T-Mobile Usa, Inc. | Digital signatures for small cells of telecommunications networks |
US11694794B2 (en) * | 2012-04-23 | 2023-07-04 | Tandem Diabetes Care, Inc. | System and method for reduction of inadvertent activation of medical device during manipulation |
US11770432B2 (en) | 2009-09-22 | 2023-09-26 | Qualcomm Incorporated | Enhanced block-request streaming system for handling low-latency streaming |
Families Citing this family (70)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001202310A (en) * | 2000-01-20 | 2001-07-27 | Square Co Ltd | Information providing method, recording medium with recorded program for providing the same method and information providing system |
JP2001243158A (en) * | 2000-02-29 | 2001-09-07 | Canon Inc | Information processing apparatus, network system, device map display method and recording medium |
US6898607B2 (en) * | 2000-07-11 | 2005-05-24 | Sony Corporation | Proposed syntax for a synchronized commands execution |
US7653654B1 (en) * | 2000-09-29 | 2010-01-26 | International Business Machines Corporation | Method and system for selectively accessing files accessible through a network |
US7047273B2 (en) | 2000-11-28 | 2006-05-16 | Navic Systems, Inc. | Load balancing in set top cable box environment |
US20020065929A1 (en) * | 2000-11-28 | 2002-05-30 | Navic Systems Inc. | Protocol extensions to increase reliability of bulk data transmissions |
US7290252B2 (en) * | 2003-04-17 | 2007-10-30 | International Business Machines Corporaiton | Method and apparatus for building executable computer programs using compiled program libraries |
US7328256B2 (en) * | 2003-06-02 | 2008-02-05 | Apple Inc. | Method and apparatus for distributing computer files across a network to multiple clients |
US20050035196A1 (en) * | 2003-08-15 | 2005-02-17 | Whitmarsh Winston Chandler | Autograph card tracking and verification |
TWI241805B (en) * | 2003-12-12 | 2005-10-11 | Hon Hai Prec Ind Co Ltd | System and method for resuming downloading data from interruptive-point |
US8098592B2 (en) * | 2004-04-05 | 2012-01-17 | Alcatel Lucent | Cellular data transmission time period estimation |
US7536434B1 (en) * | 2004-09-30 | 2009-05-19 | Avaya Inc. | Global dynamic persistent information architecture |
US9100197B2 (en) * | 2006-01-19 | 2015-08-04 | Lenovo (Singapore) Pte. Ltd. | Apparatus and method for signaling by and to a computer system user |
US8296385B2 (en) * | 2007-04-23 | 2012-10-23 | Lenovo (Singapore) Pte. Ltd. | Apparatus and method for selective engagement in software distribution |
US8132166B2 (en) * | 2007-05-14 | 2012-03-06 | Red Hat, Inc. | Methods and systems for provisioning software |
US8561058B2 (en) | 2007-06-20 | 2013-10-15 | Red Hat, Inc. | Methods and systems for dynamically generating installation configuration files for software |
US8464247B2 (en) | 2007-06-21 | 2013-06-11 | Red Hat, Inc. | Methods and systems for dynamically generating installation configuration files for software |
US8027671B2 (en) | 2008-01-14 | 2011-09-27 | Penthera Partners, Inc. | Delivering files to a mobile device |
US8713177B2 (en) | 2008-05-30 | 2014-04-29 | Red Hat, Inc. | Remote management of networked systems using secure modular platform |
US9100297B2 (en) | 2008-08-20 | 2015-08-04 | Red Hat, Inc. | Registering new machines in a software provisioning environment |
US8930512B2 (en) | 2008-08-21 | 2015-01-06 | Red Hat, Inc. | Providing remote software provisioning to machines |
US8838827B2 (en) * | 2008-08-26 | 2014-09-16 | Red Hat, Inc. | Locating a provisioning server |
US9477570B2 (en) | 2008-08-26 | 2016-10-25 | Red Hat, Inc. | Monitoring software provisioning |
US8793683B2 (en) | 2008-08-28 | 2014-07-29 | Red Hat, Inc. | Importing software distributions in a software provisioning environment |
US9111118B2 (en) | 2008-08-29 | 2015-08-18 | Red Hat, Inc. | Managing access in a software provisioning environment |
US9952845B2 (en) | 2008-08-29 | 2018-04-24 | Red Hat, Inc. | Provisioning machines having virtual storage resources |
US8527578B2 (en) | 2008-08-29 | 2013-09-03 | Red Hat, Inc. | Methods and systems for centrally managing multiple provisioning servers |
US8103776B2 (en) | 2008-08-29 | 2012-01-24 | Red Hat, Inc. | Systems and methods for storage allocation in provisioning of virtual machines |
US9164749B2 (en) | 2008-08-29 | 2015-10-20 | Red Hat, Inc. | Differential software provisioning on virtual machines having different configurations |
US8244836B2 (en) | 2008-08-29 | 2012-08-14 | Red Hat, Inc. | Methods and systems for assigning provisioning servers in a software provisioning environment |
US9021470B2 (en) | 2008-08-29 | 2015-04-28 | Red Hat, Inc. | Software provisioning in multiple network configuration environment |
US8326972B2 (en) | 2008-09-26 | 2012-12-04 | Red Hat, Inc. | Methods and systems for managing network connections in a software provisioning environment |
US8612968B2 (en) | 2008-09-26 | 2013-12-17 | Red Hat, Inc. | Methods and systems for managing network connections associated with provisioning objects in a software provisioning environment |
US8898305B2 (en) | 2008-11-25 | 2014-11-25 | Red Hat, Inc. | Providing power management services in a software provisioning environment |
US9124497B2 (en) | 2008-11-26 | 2015-09-01 | Red Hat, Inc. | Supporting multiple name servers in a software provisioning environment |
US8782204B2 (en) | 2008-11-28 | 2014-07-15 | Red Hat, Inc. | Monitoring hardware resources in a software provisioning environment |
US8832256B2 (en) | 2008-11-28 | 2014-09-09 | Red Hat, Inc. | Providing a rescue Environment in a software provisioning environment |
US8775578B2 (en) | 2008-11-28 | 2014-07-08 | Red Hat, Inc. | Providing hardware updates in a software environment |
US8402123B2 (en) | 2009-02-24 | 2013-03-19 | Red Hat, Inc. | Systems and methods for inventorying un-provisioned systems in a software provisioning environment |
US9727320B2 (en) | 2009-02-25 | 2017-08-08 | Red Hat, Inc. | Configuration of provisioning servers in virtualized systems |
US8892700B2 (en) | 2009-02-26 | 2014-11-18 | Red Hat, Inc. | Collecting and altering firmware configurations of target machines in a software provisioning environment |
US8413259B2 (en) | 2009-02-26 | 2013-04-02 | Red Hat, Inc. | Methods and systems for secure gated file deployment associated with provisioning |
US8667096B2 (en) | 2009-02-27 | 2014-03-04 | Red Hat, Inc. | Automatically generating system restoration order for network recovery |
US8990368B2 (en) | 2009-02-27 | 2015-03-24 | Red Hat, Inc. | Discovery of network software relationships |
US9940208B2 (en) | 2009-02-27 | 2018-04-10 | Red Hat, Inc. | Generating reverse installation file for network restoration |
US9411570B2 (en) | 2009-02-27 | 2016-08-09 | Red Hat, Inc. | Integrating software provisioning and configuration management |
US9558195B2 (en) * | 2009-02-27 | 2017-01-31 | Red Hat, Inc. | Depopulation of user data from network |
US8640122B2 (en) | 2009-02-27 | 2014-01-28 | Red Hat, Inc. | Systems and methods for abstracting software content management in a software provisioning environment |
US8572587B2 (en) | 2009-02-27 | 2013-10-29 | Red Hat, Inc. | Systems and methods for providing a library of virtual images in a software provisioning environment |
US8135989B2 (en) | 2009-02-27 | 2012-03-13 | Red Hat, Inc. | Systems and methods for interrogating diagnostic target using remotely loaded image |
US8417926B2 (en) | 2009-03-31 | 2013-04-09 | Red Hat, Inc. | Systems and methods for providing configuration management services from a provisioning server |
US9250672B2 (en) | 2009-05-27 | 2016-02-02 | Red Hat, Inc. | Cloning target machines in a software provisioning environment |
US9134987B2 (en) | 2009-05-29 | 2015-09-15 | Red Hat, Inc. | Retiring target machines by a provisioning server |
US9047155B2 (en) | 2009-06-30 | 2015-06-02 | Red Hat, Inc. | Message-based installation management using message bus |
WO2011008199A1 (en) * | 2009-07-14 | 2011-01-20 | Penthera Partners, Inc. | Delivering files to a mobile device |
US10133485B2 (en) | 2009-11-30 | 2018-11-20 | Red Hat, Inc. | Integrating storage resources from storage area network in machine provisioning platform |
US8825819B2 (en) | 2009-11-30 | 2014-09-02 | Red Hat, Inc. | Mounting specified storage resources from storage area network in machine provisioning platform |
US8626906B1 (en) * | 2010-08-10 | 2014-01-07 | Google Inc. | Scheduling data pushes to a mobile device based on usage and applications thereof |
JP2012059056A (en) * | 2010-09-09 | 2012-03-22 | Sharp Corp | Content distribution system, content distribution method, server, content reproduction device, program and recording medium |
US20120136941A1 (en) * | 2010-11-30 | 2012-05-31 | Timothy Howes | User specific sharing feature |
CA2762808C (en) * | 2010-12-29 | 2019-07-09 | Bce Inc. | Method and system for trigger management in an interactive television environment |
US8843915B2 (en) * | 2011-07-28 | 2014-09-23 | Hewlett-Packard Development Company, L.P. | Signature-based update management |
US10237370B2 (en) | 2012-09-22 | 2019-03-19 | Avaya Inc. | Co-resident plug-ins of third party software |
US9262150B2 (en) | 2012-09-22 | 2016-02-16 | Avaya Inc. | Services versioning |
US9116772B2 (en) | 2012-09-22 | 2015-08-25 | Avaya Inc. | Dynamic customization of pluggable service by users |
US9690559B2 (en) * | 2012-09-22 | 2017-06-27 | Avaya Inc. | Downloadable pluggable services |
US10382513B2 (en) * | 2017-02-15 | 2019-08-13 | International Business Machines Corporation | Scheduling downloads based on metadata in a client-server topology |
US11294661B2 (en) * | 2017-04-25 | 2022-04-05 | Microsoft Technology Licensing, Llc | Updating a code file |
US10911571B2 (en) | 2019-03-01 | 2021-02-02 | Walmart Apollo, Llc | System and method for prioritizing the disposition of remote assets for online product listings |
CN111654532B (en) * | 2020-05-08 | 2023-08-01 | 国云科技股份有限公司 | Centralized management system, method and device for configuration files |
Citations (82)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4890258A (en) * | 1984-06-11 | 1989-12-26 | Sharp Kabushiki Kaisha | Schedule setting method |
US5357563A (en) * | 1992-01-10 | 1994-10-18 | Microbilt Corporation | Data card terminal for receiving authorizations from remote locations |
US5768528A (en) * | 1996-05-24 | 1998-06-16 | V-Cast, Inc. | Client-server system for delivery of online information |
US5819226A (en) * | 1992-09-08 | 1998-10-06 | Hnc Software Inc. | Fraud detection using predictive modeling |
US5832208A (en) * | 1996-09-05 | 1998-11-03 | Cheyenne Software International Sales Corp. | Anti-virus agent for use with databases and mail servers |
US5835911A (en) * | 1994-02-08 | 1998-11-10 | Fujitsu Limited | Software distribution and maintenance system and method |
US5860012A (en) * | 1993-09-30 | 1999-01-12 | Intel Corporation | Installation of application software through a network from a source computer system on to a target computer system |
US5883810A (en) * | 1997-09-24 | 1999-03-16 | Microsoft Corporation | Electronic online commerce card with transactionproxy number for online transactions |
US5890137A (en) * | 1995-12-15 | 1999-03-30 | Kabushiki Kaisha N.K. Kikaku | On-line shopping system and the method of payment settlement |
US5903566A (en) * | 1994-06-24 | 1999-05-11 | Metricom, Inc. | Method for distributing program code to intelligent nodes in a wireless mesh data communication network |
US5903881A (en) * | 1997-06-05 | 1999-05-11 | Intuit, Inc. | Personal online banking with integrated online statement and checkbook user interface |
US5918217A (en) * | 1997-12-10 | 1999-06-29 | Financial Engines, Inc. | User interface for a financial advisory system |
US5920725A (en) * | 1997-07-02 | 1999-07-06 | Adaptivity Inc. | Run-time object-synthesis and transparent client/server updating of distributed objects using a meta server of all object descriptors |
US6004276A (en) * | 1997-03-03 | 1999-12-21 | Quinton Instrument Company | Open architecture cardiology information system |
US6021276A (en) * | 1998-03-11 | 2000-02-01 | International Business Machines Corporation | Method and apparatus for microcode downloading |
US6023698A (en) * | 1996-12-05 | 2000-02-08 | International Business Machines Corporation | System and method for transparently registering and updating information over the internet |
US6026369A (en) * | 1997-05-09 | 2000-02-15 | International Business Machines Corporation | Method for distributing advertising in a distributed web modification system |
US6026413A (en) * | 1997-08-01 | 2000-02-15 | International Business Machines Corporation | Determining how changes to underlying data affect cached objects |
US6029144A (en) * | 1997-08-29 | 2000-02-22 | International Business Machines Corporation | Compliance-to-policy detection method and system |
US6029154A (en) * | 1997-07-28 | 2000-02-22 | Internet Commerce Services Corporation | Method and system for detecting fraud in a credit card transaction over the internet |
US6029141A (en) * | 1997-06-27 | 2000-02-22 | Amazon.Com, Inc. | Internet-based customer referral system |
US6044471A (en) * | 1998-06-04 | 2000-03-28 | Z4 Technologies, Inc. | Method and apparatus for securing software to reduce unauthorized use |
US6049892A (en) * | 1997-02-24 | 2000-04-11 | Ethos Software Corporation | Process and apparatus for downloading data from a server computer to a client computer |
US6073124A (en) * | 1997-01-29 | 2000-06-06 | Shopnow.Com Inc. | Method and system for securely incorporating electronic information into an online purchasing application |
US6074299A (en) * | 1998-02-06 | 2000-06-13 | Cohen; Robert H. | Internet based search contest |
US6097390A (en) * | 1997-04-04 | 2000-08-01 | International Business Machines Corporation | Progress-indicating mouse pointer |
US6100887A (en) * | 1997-12-05 | 2000-08-08 | At&T Corporation | Reusable reversible progress indicator software component for a graphical user interface |
US6108642A (en) * | 1998-02-02 | 2000-08-22 | Network Sciences Company, Inc. | Device for selectively blocking remote purchase requests |
US6128655A (en) * | 1998-07-10 | 2000-10-03 | International Business Machines Corporation | Distribution mechanism for filtering, formatting and reuse of web based content |
US6134584A (en) * | 1997-11-21 | 2000-10-17 | International Business Machines Corporation | Method for accessing and retrieving information from a source maintained by a network server |
US6154729A (en) * | 1998-06-19 | 2000-11-28 | First Data Corporation | Method of reporting merchant information to banks |
US6157917A (en) * | 1997-07-11 | 2000-12-05 | Barber; Timothy P. | Bandwidth-preserving method of charging for pay-per-access information on a network |
US6167567A (en) * | 1998-05-05 | 2000-12-26 | 3Com Corporation | Technique for automatically updating software stored on a client computer in a networked client-server environment |
US6171006B1 (en) * | 1997-06-20 | 2001-01-09 | Lawrence B. Woodall | Sports bag for hand conditioning related composition and preparation method |
US6185608B1 (en) * | 1998-06-12 | 2001-02-06 | International Business Machines Corporation | Caching dynamic web pages |
US6199107B1 (en) * | 1998-07-22 | 2001-03-06 | Microsoft Corporation | Partial file caching and read range resume system and method |
US6223166B1 (en) * | 1997-11-26 | 2001-04-24 | International Business Machines Corporation | Cryptographic encoded ticket issuing and collection system for remote purchasers |
US6226618B1 (en) * | 1998-08-13 | 2001-05-01 | International Business Machines Corporation | Electronic content delivery system |
US6233565B1 (en) * | 1998-02-13 | 2001-05-15 | Saranac Software, Inc. | Methods and apparatus for internet based financial transactions with evidence of payment |
US6240396B1 (en) * | 1996-09-04 | 2001-05-29 | Priceline.Com Incorporated | Conditional purchase offer management system for event tickets |
US6247130B1 (en) * | 1999-01-22 | 2001-06-12 | Bernhard Fritsch | Distribution of musical products by a web site vendor over the internet |
US6253186B1 (en) * | 1996-08-14 | 2001-06-26 | Blue Cross Blue Shield Of South Carolina | Method and apparatus for detecting fraud |
US6263353B1 (en) * | 1999-02-17 | 2001-07-17 | Advanced Micro Devices, Inc. | Method and apparatus for converting between different digital data representation formats |
US6263446B1 (en) * | 1997-12-23 | 2001-07-17 | Arcot Systems, Inc. | Method and apparatus for secure distribution of authentication credentials to roaming users |
US6278449B1 (en) * | 1998-09-03 | 2001-08-21 | Sony Corporation | Apparatus and method for designating information to be retrieved over a computer network |
US6289452B1 (en) * | 1997-11-07 | 2001-09-11 | Cybersource Corporation | Method and system for delivering digital products electronically |
US6292835B1 (en) * | 1997-11-26 | 2001-09-18 | International Business Machines Corporation | Network bandwidth and object obsolescence sensitive scheduling method and apparatus for objects distributed broadcasting |
US6314408B1 (en) * | 1997-07-15 | 2001-11-06 | Eroom Technology, Inc. | Method and apparatus for controlling access to a product |
US6317723B1 (en) * | 1997-05-05 | 2001-11-13 | Walker Digital, Llc | Method and apparatus for selling subscriptions to periodicals in a retail environment |
US6327617B1 (en) * | 1995-11-27 | 2001-12-04 | Microsoft Corporation | Method and system for identifying and obtaining computer software from a remote computer |
US6336098B1 (en) * | 1997-12-11 | 2002-01-01 | International Business Machines Corp. | Method for electronic distribution and redemption of coupons on the world wide web |
US20020023054A1 (en) * | 2000-04-13 | 2002-02-21 | Gillespie Kenneth E. | Method and system for protecting credit card transactions |
US6353926B1 (en) * | 1998-07-15 | 2002-03-05 | Microsoft Corporation | Software update notification |
US6385596B1 (en) * | 1998-02-06 | 2002-05-07 | Liquid Audio, Inc. | Secure online music distribution system |
US6389541B1 (en) * | 1998-05-15 | 2002-05-14 | First Union National Bank | Regulating access to digital content |
US6396805B2 (en) * | 1997-03-25 | 2002-05-28 | Intel Corporation | System for recovering from disruption of a data transfer |
US6405175B1 (en) * | 1999-07-27 | 2002-06-11 | David Way Ng | Shopping scouts web site for rewarding customer referrals on product and price information with rewards scaled by the number of shoppers using the information |
US20020091555A1 (en) * | 2000-12-22 | 2002-07-11 | Leppink David Morgan | Fraud-proof internet ticketing system and method |
US20020133637A1 (en) * | 1995-08-14 | 2002-09-19 | Nicolas Popp | Method and apparatus for generating object-oriented world wide web pages |
US6463418B1 (en) * | 1997-08-15 | 2002-10-08 | Sun Microsystems, Inc. | Secure and stateful electronic business transaction system |
US6473740B2 (en) * | 1998-11-29 | 2002-10-29 | Qpass, Inc. | Electronic commerce using a transaction network |
US20020161711A1 (en) * | 2001-04-30 | 2002-10-31 | Sartor Karalyn K. | Fraud detection method |
US6505171B1 (en) * | 2000-02-04 | 2003-01-07 | Robert H. Cohen | System and method for handling purchasing transactions over a computer network |
US6516346B1 (en) * | 1999-02-19 | 2003-02-04 | International Business Machines Corporation | Microcode upgrade in data processing system |
US20030028481A1 (en) * | 1998-03-25 | 2003-02-06 | Orbis Patents, Ltd. | Credit card system and method |
US6529885B1 (en) * | 1999-03-18 | 2003-03-04 | Oracle Corporation | Methods and systems for carrying out directory-authenticated electronic transactions including contingency-dependent payments via secure electronic bank drafts |
US20030055781A1 (en) * | 2000-02-14 | 2003-03-20 | Ong Yong Kin | Electronic funds transfers-zipfund |
US6574729B1 (en) * | 1999-08-26 | 2003-06-03 | Lucent Technologies Inc. | System for remotely identifying and providing information of unknown software on remote network node by comparing the unknown software with software audit file maintained on server |
US6594682B2 (en) * | 1997-10-28 | 2003-07-15 | Microsoft Corporation | Client-side system for scheduling delivery of web content and locally managing the web content |
US6597891B2 (en) * | 1999-04-05 | 2003-07-22 | International Business Machines Corporation | Combining online browsing and on-demand data broadcast for selecting and downloading digital content |
US6601047B2 (en) * | 2000-03-08 | 2003-07-29 | Inbit Inc. | Image-based digital evidence system and associated method |
US6622168B1 (en) * | 2000-04-10 | 2003-09-16 | Chutney Technologies, Inc. | Dynamic page generation acceleration using component-level caching |
US6639687B1 (en) * | 1998-09-08 | 2003-10-28 | International Business Machines Corporation | Progress indicator for multiple actions |
US6650998B1 (en) * | 1996-03-11 | 2003-11-18 | At&T Corp. | Information Search System for enabling a user of a user terminal to search a data source |
US6697948B1 (en) * | 1999-05-05 | 2004-02-24 | Michael O. Rabin | Methods and apparatus for protecting information |
US6745224B1 (en) * | 1996-12-06 | 2004-06-01 | Microsoft Corporation | Object framework and services for periodically recurring operations |
US6799165B1 (en) * | 1998-07-28 | 2004-09-28 | Eimar M. Boesjes | Apparatus and methods for inventory, sale, and delivery of digitally transferable goods |
US20050273779A1 (en) * | 1996-06-07 | 2005-12-08 | William Cheng | Automatic updating of diverse software products on multiple client computer systems |
US6981037B1 (en) * | 2001-01-09 | 2005-12-27 | International Business Machines Corporation | Method and system for using access patterns to improve web site hierarchy and organization |
US7165051B2 (en) * | 1998-12-04 | 2007-01-16 | Digital River, Inc. | Electronic commerce system and method for detecting fraud |
US7171616B1 (en) * | 1999-09-27 | 2007-01-30 | International Business Machines Corporation | Method, system and computer program product for keeping files current |
US7181418B1 (en) * | 1999-11-30 | 2007-02-20 | John Todd Zucker | Internet customer service method and system |
Family Cites Families (190)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3990710A (en) | 1968-06-24 | 1976-11-09 | Hughes Robert M | Coin-operated recording machine |
US3798605A (en) * | 1971-06-30 | 1974-03-19 | Ibm | Centralized verification system |
US4200770A (en) * | 1977-09-06 | 1980-04-29 | Stanford University | Cryptographic apparatus and method |
US4218582A (en) | 1977-10-06 | 1980-08-19 | The Board Of Trustees Of The Leland Stanford Junior University | Public key cryptographic apparatus and method |
US4405829A (en) | 1977-12-14 | 1983-09-20 | Massachusetts Institute Of Technology | Cryptographic communications system and method |
US4424414A (en) * | 1978-05-01 | 1984-01-03 | Board Of Trustees Of The Leland Stanford Junior University | Exponentiation cryptographic apparatus and method |
US4465901A (en) | 1979-06-04 | 1984-08-14 | Best Robert M | Crypto microprocessor that executes enciphered programs |
US4264782A (en) * | 1979-06-29 | 1981-04-28 | International Business Machines Corporation | Method and apparatus for transaction and identity verification |
JPS57127249A (en) | 1980-12-29 | 1982-08-07 | Fujitsu Ltd | Security controlling system |
US4446519A (en) * | 1981-05-26 | 1984-05-01 | Corban International, Ltd. | Method and apparatus for providing security for computer software |
US4490810A (en) | 1982-02-16 | 1984-12-25 | Hon David C | Automated instruction, game and data retrieval system |
US4458315A (en) | 1982-02-25 | 1984-07-03 | Penta, Inc. | Apparatus and method for preventing unauthorized use of computer programs |
US4649510A (en) * | 1982-04-30 | 1987-03-10 | Schmidt Walter E | Methods and apparatus for the protection and control of computer programs |
US4567512A (en) * | 1982-08-19 | 1986-01-28 | World Video Library, Inc. | Recorded program communication system |
US4528643A (en) | 1983-01-10 | 1985-07-09 | Fpdc, Inc. | System for reproducing information in material objects at a point of sale location |
US4672554A (en) * | 1983-05-19 | 1987-06-09 | Brother Kogyo Kabushiki Kaisha | Software vending instrument |
US4674055A (en) | 1983-06-09 | 1987-06-16 | Brother Kogyo Kabushiki Kaisha | Software vending system |
US4558302A (en) | 1983-06-20 | 1985-12-10 | Sperry Corporation | High speed data compression and decompression apparatus and method |
US4658093A (en) * | 1983-07-11 | 1987-04-14 | Hellman Martin E | Software distribution system |
US4590557A (en) * | 1983-09-12 | 1986-05-20 | Pitney Bowes Inc. | Method and apparatus for controlling software configurations in data processing systems |
US5103392A (en) * | 1983-10-05 | 1992-04-07 | Fujitsu Limited | System for storing history of use of programs including user credit data and having access by the proprietor |
JPH0695302B2 (en) | 1983-10-05 | 1994-11-24 | 亮一 森 | Software management method |
US4558413A (en) | 1983-11-21 | 1985-12-10 | Xerox Corporation | Software version management system |
US4740890A (en) * | 1983-12-22 | 1988-04-26 | Software Concepts, Inc. | Software protection system with trial period usage code and unlimited use unlocking code both recorded on program storage media |
JPS60245097A (en) * | 1984-05-18 | 1985-12-04 | ブラザー工業株式会社 | Software vending machine |
US4791565A (en) | 1984-06-20 | 1988-12-13 | Effective Security Systems, Inc. | Apparatus for controlling the use of computer software |
US4780905A (en) | 1984-11-26 | 1988-10-25 | Nightwatch, Inc. | Computer data encryption system |
US4888798A (en) | 1985-04-19 | 1989-12-19 | Oms, Inc. | Modular software security |
US4685055A (en) | 1985-07-01 | 1987-08-04 | Thomas Richard B | Method and system for controlling use of protected software |
JPH063631B2 (en) | 1985-11-12 | 1994-01-12 | ブラザー工業株式会社 | Information output device management device |
US4864516A (en) | 1986-03-10 | 1989-09-05 | International Business Machines Corporation | Method for implementing an on-line presentation in an information processing system |
US5426421A (en) | 1986-04-21 | 1995-06-20 | Gray; William F. | Method of automatically managing a network or remote function-excecuting apparatus from a programable network control center |
US5014234A (en) * | 1986-08-25 | 1991-05-07 | Ncr Corporation | System with software usage timer and counter for allowing limited use but preventing continued unauthorized use of protected software |
US4815030A (en) * | 1986-09-03 | 1989-03-21 | Wang Laboratories, Inc. | Multitask subscription data retrieval system |
US5010571A (en) * | 1986-09-10 | 1991-04-23 | Titan Linkabit Corporation | Metering retrieval of encrypted data stored in customer data retrieval terminal |
US4827508A (en) * | 1986-10-14 | 1989-05-02 | Personal Library Software, Inc. | Database usage metering and protection system and method |
US5047928A (en) | 1986-10-24 | 1991-09-10 | Wiedemer John D | Billing system for computer software |
US5109413A (en) * | 1986-11-05 | 1992-04-28 | International Business Machines Corporation | Manipulating rights-to-execute in connection with a software copy protection mechanism |
US4796220A (en) * | 1986-12-15 | 1989-01-03 | Pride Software Development Corp. | Method of controlling the copying of software |
US4893248A (en) | 1987-02-06 | 1990-01-09 | Access Corporation | Monitoring and reporting system for remote terminals |
US4949257A (en) | 1987-04-28 | 1990-08-14 | Zvi Orbach | Automated merchandising system for computer software |
US4918602A (en) * | 1987-07-15 | 1990-04-17 | Computer Associates International, Inc. | Data processing system and method |
NZ224848A (en) | 1987-07-15 | 1995-07-26 | Computer Associates Internatio | Application software created from defined modules of code |
US4999806A (en) * | 1987-09-04 | 1991-03-12 | Fred Chernow | Software distribution system |
US5390297A (en) * | 1987-11-10 | 1995-02-14 | Auto-Trol Technology Corporation | System for controlling the number of concurrent copies of a program in a network based on the number of available licenses |
US5027291A (en) | 1987-11-24 | 1991-06-25 | International Business Machines Corporation | Application exit for potentially pickable primitives in a graphics system |
US5016009A (en) * | 1989-01-13 | 1991-05-14 | Stac, Inc. | Data compression apparatus and method |
JPH02277129A (en) | 1989-04-18 | 1990-11-13 | Toshiba Corp | Data processor |
US5199066A (en) * | 1989-04-18 | 1993-03-30 | Special Effects Software, Inc. | Method and apparatus for protecting software |
CA2053261A1 (en) | 1989-04-28 | 1990-10-29 | Gary D. Hornbuckle | Method and apparatus for remotely controlling and monitoring the use of computer software |
US5006849A (en) * | 1989-07-26 | 1991-04-09 | Astro, Inc. | Apparatus and method for effecting data compression |
US5166886A (en) | 1989-07-31 | 1992-11-24 | Molnar Charles E | System to demonstrate and sell computer programs |
JPH0383132A (en) | 1989-08-28 | 1991-04-09 | Fujitsu Ltd | Software protection control system |
US5241671C1 (en) | 1989-10-26 | 2002-07-02 | Encyclopaedia Britannica Educa | Multimedia search system using a plurality of entry path means which indicate interrelatedness of information |
US5267171A (en) | 1990-03-29 | 1993-11-30 | Brother Kogyo Kabushiki Kaisha | Computer software vending machine |
US5355302A (en) | 1990-06-15 | 1994-10-11 | Arachnid, Inc. | System for managing a plurality of computer jukeboxes |
US5051745A (en) | 1990-08-21 | 1991-09-24 | Pkware, Inc. | String searcher, and compressor using same |
US5237157A (en) | 1990-09-13 | 1993-08-17 | Intouch Group, Inc. | Kiosk apparatus and method for point of preview and for compilation of market data |
US5222134A (en) | 1990-11-07 | 1993-06-22 | Tau Systems Corporation | Secure system for activating personal computer software at remote locations |
US5103476A (en) * | 1990-11-07 | 1992-04-07 | Waite David P | Secure system for activating personal computer software at remote locations |
US5426747A (en) | 1991-03-22 | 1995-06-20 | Object Design, Inc. | Method and apparatus for virtual memory mapping and transaction management in an object-oriented database system |
DE69228039T2 (en) * | 1991-05-08 | 1999-08-05 | Digital Equipment Corp | LICENSE MANAGEMENT SYSTEM |
US5404505A (en) * | 1991-11-01 | 1995-04-04 | Finisar Corporation | System for scheduling transmission of indexed and requested database tiers on demand at varying repetition rates |
US5557518A (en) | 1994-04-28 | 1996-09-17 | Citibank, N.A. | Trusted agents for open electronic commerce |
SE469956B (en) | 1991-11-27 | 1993-10-11 | Icl Systems Ab | Procedure and arrangement to reduce the amount of information required for uniform software revision in multiple user units in a computer system |
US5249218A (en) | 1992-04-06 | 1993-09-28 | Spectrum Information Technologies, Inc. | Programmable universal interface system |
US5291598A (en) | 1992-04-07 | 1994-03-01 | Gregory Grundy | Method and system for decentralized manufacture of copy-controlled software |
US6131159A (en) | 1992-05-08 | 2000-10-10 | Paradyne Corporation | System for downloading programs |
US5404510A (en) * | 1992-05-21 | 1995-04-04 | Oracle Corporation | Database index design based upon request importance and the reuse and modification of similar existing indexes |
US5515538A (en) * | 1992-05-29 | 1996-05-07 | Sun Microsystems, Inc. | Apparatus and method for interrupt handling in a multi-threaded operating system kernel |
US5381539A (en) * | 1992-06-04 | 1995-01-10 | Emc Corporation | System and method for dynamically controlling cache management |
US5388993A (en) * | 1992-07-15 | 1995-02-14 | International Business Machines Corporation | Method of and system for demonstrating a computer program |
US5293422A (en) * | 1992-09-23 | 1994-03-08 | Dynatek, Inc. | Usage control system for computer software |
US5367667A (en) | 1992-09-25 | 1994-11-22 | Compaq Computer Corporation | System for performing remote computer system diagnostic tests |
US5430841A (en) | 1992-10-29 | 1995-07-04 | International Business Machines Corporation | Context management in a graphics system |
US5327563A (en) | 1992-11-13 | 1994-07-05 | Hewlett-Packard | Method for locking software files to a specific storage device |
US5539908A (en) | 1992-11-24 | 1996-07-23 | International Business Machines Corporation | Dynamically linked and shared compression/decompression |
US5341429A (en) | 1992-12-04 | 1994-08-23 | Testdrive Corporation | Transformation of ephemeral material |
US5509070A (en) * | 1992-12-15 | 1996-04-16 | Softlock Services Inc. | Method for encouraging purchase of executable and non-executable software |
US5269698A (en) | 1993-01-26 | 1993-12-14 | Silicon Graphics, Inc. | Retaining and release mechanism for computer storage devices including a pawl latch assembly |
US5530865A (en) | 1993-03-03 | 1996-06-25 | Apple Computer, Inc. | Method and apparatus for improved application program switching on a computer-controlled display system |
US5365587A (en) | 1993-03-11 | 1994-11-15 | International Business Machines Corporation | Self modifying access code for altering capabilities |
WO1994025913A2 (en) | 1993-04-30 | 1994-11-10 | Novadigm, Inc. | Method and apparatus for enterprise desktop management |
US5386369A (en) * | 1993-07-12 | 1995-01-31 | Globetrotter Software Inc. | License metering system for software applications |
GB9323489D0 (en) | 1993-11-08 | 1994-01-05 | Ncr Int Inc | Self-service business system |
US5625690A (en) * | 1993-11-15 | 1997-04-29 | Lucent Technologies Inc. | Software pay per use system |
US5581704A (en) * | 1993-12-06 | 1996-12-03 | Panasonic Technologies, Inc. | System for maintaining data coherency in cache memory by periodically broadcasting invalidation reports from server to client |
US5495411A (en) * | 1993-12-22 | 1996-02-27 | Ananda; Mohan | Secure software rental system using continuous asynchronous password verification |
US5774879A (en) | 1993-12-27 | 1998-06-30 | First Data Corporation | Automated financial instrument processing system |
US5666411A (en) | 1994-01-13 | 1997-09-09 | Mccarty; Johnnie C. | System for computer software protection |
WO1995022113A1 (en) | 1994-02-14 | 1995-08-17 | Telepay, Inc. | Automated interactive bill payment system |
JPH07230380A (en) | 1994-02-15 | 1995-08-29 | Internatl Business Mach Corp <Ibm> | Method and system for controlling utilization of application program |
US5487143A (en) * | 1994-04-06 | 1996-01-23 | Altera Corporation | Computer user interface having tiled and overlapped window areas |
US5598470A (en) * | 1994-04-25 | 1997-01-28 | International Business Machines Corporation | Method and apparatus for enabling trial period use of software products: Method and apparatus for utilizing a decryption block |
CA2143874C (en) * | 1994-04-25 | 2000-06-20 | Thomas Edward Cooper | Method and apparatus for enabling trial period use of software products: method and apparatus for utilizing a decryption stub |
US5757907A (en) * | 1994-04-25 | 1998-05-26 | International Business Machines Corporation | Method and apparatus for enabling trial period use of software products: method and apparatus for generating a machine-dependent identification |
US5563946A (en) | 1994-04-25 | 1996-10-08 | International Business Machines Corporation | Method and apparatus for enabling trial period use of software products: method and apparatus for passing encrypted files between data processing systems |
US5689560A (en) | 1994-04-25 | 1997-11-18 | International Business Machines Corporation | Method and apparatus for enabling trial period use of software products: method and apparatus for allowing a try-and-buy user interaction |
US5500513A (en) | 1994-05-11 | 1996-03-19 | Visa International | Automated purchasing control system |
US5564038A (en) | 1994-05-20 | 1996-10-08 | International Business Machines Corporation | Method and apparatus for providing a trial period for a software license product using a date stamp and designated test period |
JP3519134B2 (en) * | 1994-08-10 | 2004-04-12 | 富士通株式会社 | Software usage measurement device and multimedia information output device |
JPH0854951A (en) | 1994-08-10 | 1996-02-27 | Fujitsu Ltd | Software used amount control device |
JP3531978B2 (en) | 1994-08-10 | 2004-05-31 | 富士通株式会社 | Software billing system |
US5732266A (en) | 1994-09-02 | 1998-03-24 | Compaq Computer Corporation | Storage medium storing application programs and application initialization files and automatic launching of computer applications stored on the storage medium |
JP3647907B2 (en) * | 1994-09-09 | 2005-05-18 | 富士通株式会社 | Encryption software decompression system |
US5627886A (en) * | 1994-09-22 | 1997-05-06 | Electronic Data Systems Corporation | System and method for detecting fraudulent network usage patterns using real-time network monitoring |
US5600781A (en) * | 1994-09-30 | 1997-02-04 | Intel Corporation | Method and apparatus for creating a portable personalized operating environment |
US5579479A (en) | 1994-10-03 | 1996-11-26 | Plum Hall Inc. | Computer software licensing authentication method and apparatus |
US5535188A (en) | 1994-10-03 | 1996-07-09 | International Business Machines Corporation | Data security protection for information recorded on a rewritable storage medium using a write-once read-many storage medium |
US5526485A (en) | 1994-10-13 | 1996-06-11 | Microsoft Corporation | Just-in-time debugging system and methods under the windows 3.0 and windows 3.1 operating systems |
US5634012A (en) * | 1994-11-23 | 1997-05-27 | Xerox Corporation | System for controlling the distribution and use of digital works having a fee reporting mechanism |
US5629980A (en) * | 1994-11-23 | 1997-05-13 | Xerox Corporation | System for controlling the distribution and use of digital works |
US5715403A (en) * | 1994-11-23 | 1998-02-03 | Xerox Corporation | System for controlling the distribution and use of digital works having attached usage rights where the usage rights are defined by a usage rights grammar |
US5915023A (en) | 1997-01-06 | 1999-06-22 | Bernstein; Robert | Automatic portable account controller for remotely arranging for transfer of value to a recipient |
JP3946275B2 (en) * | 1995-01-10 | 2007-07-18 | 富士通株式会社 | Remote installation system and method |
DE69637733D1 (en) | 1995-02-13 | 2008-12-11 | Intertrust Tech Corp | SYSTEMS AND METHOD FOR SAFE TRANSMISSION |
US5805898A (en) | 1995-02-24 | 1998-09-08 | International Business Machines Corporation | Method and apparatus for estimating installation time in a data processing system |
US5794052A (en) | 1995-02-27 | 1998-08-11 | Ast Research, Inc. | Method of software installation and setup |
US5842024A (en) | 1995-02-27 | 1998-11-24 | Ast Research, Inc. | Method of software installation |
US5570373A (en) * | 1995-03-20 | 1996-10-29 | Lucent Technologies Inc. | Method and apparatus for testing a radio in a base station without using a radio test unit |
US5826245A (en) | 1995-03-20 | 1998-10-20 | Sandberg-Diment; Erik | Providing verification information for a transaction |
US5710884A (en) * | 1995-03-29 | 1998-01-20 | Intel Corporation | System for automatically updating personal profile server with updates to additional user information gathered from monitoring user's electronic consuming habits generated on computer during use |
US5666501A (en) | 1995-03-30 | 1997-09-09 | International Business Machines Corporation | Method and apparatus for installing software |
US5675645A (en) | 1995-04-18 | 1997-10-07 | Ricoh Company, Ltd. | Method and apparatus for securing executable programs against copying |
US5870543A (en) * | 1995-06-07 | 1999-02-09 | Digital River, Inc. | System for preventing unauthorized copying of active software |
US5887060A (en) * | 1995-06-07 | 1999-03-23 | Digital River, Inc. | Central database system for automatic software program sales |
US5903647A (en) * | 1995-06-07 | 1999-05-11 | Digital River, Inc. | Self-launching encrypted digital information distribution system |
US5745754A (en) * | 1995-06-07 | 1998-04-28 | International Business Machines Corporation | Sub-agent for fulfilling requests of a web browser using an intelligent agent and providing a report |
US5883954A (en) * | 1995-06-07 | 1999-03-16 | Digital River, Inc. | Self-launching encrypted try before you buy software distribution system |
US5883955A (en) * | 1995-06-07 | 1999-03-16 | Digital River, Inc. | On-line try before you buy software distribution system |
AU6269796A (en) * | 1995-06-07 | 1996-12-30 | Digital River, Inc. | Try-before-you-buy software distribution and marketing syste m |
US5740549A (en) * | 1995-06-12 | 1998-04-14 | Pointcast, Inc. | Information and advertising distribution system and method |
US5727205A (en) * | 1995-06-28 | 1998-03-10 | Canon Information Systems, Inc. | File installation system for displaying bitmaps during file installation |
US5671420A (en) | 1995-06-28 | 1997-09-23 | Canon Information Systems, Inc. | Distribution diskette utility |
US5754646A (en) * | 1995-07-19 | 1998-05-19 | Cable Television Laboratories, Inc. | Method for protecting publicly distributed software |
US5754754A (en) * | 1995-07-26 | 1998-05-19 | International Business Machines Corporation | Transmission order based selective repeat data transmission error recovery system and method |
US5671412A (en) | 1995-07-28 | 1997-09-23 | Globetrotter Software, Incorporated | License management system for software applications |
US5649186A (en) | 1995-08-07 | 1997-07-15 | Silicon Graphics Incorporated | System and method for a computer-based dynamic information clipping service |
US5835721A (en) | 1995-08-21 | 1998-11-10 | Apple Computer, Inc. | Method and system for data transmission over a network link between computers with the ability to withstand temporary interruptions |
US5913040A (en) | 1995-08-22 | 1999-06-15 | Backweb Ltd. | Method and apparatus for transmitting and displaying information between a remote network and a local computer |
US5657390A (en) | 1995-08-25 | 1997-08-12 | Netscape Communications Corporation | Secure socket layer application program apparatus and method |
US5710887A (en) * | 1995-08-29 | 1998-01-20 | Broadvision | Computer system and method for electronic commerce |
JP3710172B2 (en) | 1995-09-01 | 2005-10-26 | 富士通株式会社 | User terminal and center for software price refund |
US5654905A (en) | 1995-09-15 | 1997-08-05 | Ast Research, Inc. | System for tracking computer usage time |
US5758068A (en) * | 1995-09-19 | 1998-05-26 | International Business Machines Corporation | Method and apparatus for software license management |
US5781785A (en) | 1995-09-26 | 1998-07-14 | Adobe Systems Inc | Method and apparatus for providing an optimized document file of multiple pages |
WO1997012328A1 (en) * | 1995-09-25 | 1997-04-03 | Adobe Systems Incorporated | Optimum access to electronic documents |
US5671279A (en) | 1995-11-13 | 1997-09-23 | Netscape Communications Corporation | Electronic commerce using a secure courier system |
US5727215A (en) * | 1995-11-30 | 1998-03-10 | Otis Elevator Company | Method for replacing software modules utilizing a replacement address table |
US5745574A (en) * | 1995-12-15 | 1998-04-28 | Entegrity Solutions Corporation | Security infrastructure for electronic transactions |
US5699428A (en) | 1996-01-16 | 1997-12-16 | Symantec Corporation | System for automatic decryption of file data on a per-use basis and automatic re-encryption within context of multi-threaded operating system under which applications run in real-time |
JPH09212549A (en) | 1996-01-31 | 1997-08-15 | Hitachi Ltd | Method and system for electronic commerce |
US5836911A (en) | 1996-02-01 | 1998-11-17 | Medi-Ject Corporation | Injection device having positioning means |
US6034652A (en) * | 1996-03-22 | 2000-03-07 | Interval Research Corporation | Attention manager for occupying the peripheral attention of a person in the vicinity of a display device |
US5768527A (en) | 1996-04-23 | 1998-06-16 | Motorola, Inc. | Device, system and method of real-time multimedia streaming |
US5864620A (en) * | 1996-04-24 | 1999-01-26 | Cybersource Corporation | Method and system for controlling distribution of software in a multitiered distribution chain |
US5999912A (en) | 1996-05-01 | 1999-12-07 | Wodarz; Dennis | Dynamic advertising scheduling, display, and tracking |
US5768597A (en) | 1996-05-02 | 1998-06-16 | Starfish Software, Inc. | System and methods for improved installation of compressed software programs |
US5805699A (en) | 1996-05-20 | 1998-09-08 | Fujitsu Limited | Software copying system |
US5784461A (en) | 1996-05-23 | 1998-07-21 | Eastman Kodak Company | Security system for controlling access to images and image related services |
US5742757A (en) * | 1996-05-30 | 1998-04-21 | Mitsubishi Semiconductor America, Inc. | Automatic software license manager |
US5956483A (en) | 1996-06-28 | 1999-09-21 | Microsoft Corporation | System and method for making function calls from a web browser to a local application |
US5919247A (en) | 1996-07-24 | 1999-07-06 | Marimba, Inc. | Method for the distribution of code and data updates |
US5987480A (en) | 1996-07-25 | 1999-11-16 | Donohue; Michael | Method and system for delivering documents customized for a particular user over the internet using imbedded dynamic content |
US6023509A (en) | 1996-09-30 | 2000-02-08 | Intel Corporation | Digital signature purpose encoding |
US5897622A (en) * | 1996-10-16 | 1999-04-27 | Microsoft Corporation | Electronic shopping and merchandising system |
US5889860A (en) * | 1996-11-08 | 1999-03-30 | Sunhawk Corporation, Inc. | Encryption system with transaction coded decryption key |
US5845074A (en) | 1996-11-22 | 1998-12-01 | E-Parcel, Llc | Smart internet information delivery system having a server automatically detects and schedules data transmission based on status of clients CPU |
US6012087A (en) * | 1997-01-14 | 2000-01-04 | Netmind Technologies, Inc. | Unique-change detection of dynamic web pages using history tables of signatures |
US6963923B1 (en) | 1997-02-10 | 2005-11-08 | International Business Machines Corporation | Method for file transfer restarts using standard internet protocol |
US5940834A (en) | 1997-03-13 | 1999-08-17 | Mitel Corporation | Automatic web page generator |
US5912902A (en) | 1997-03-14 | 1999-06-15 | Monroe; David A. | Data recovery scheme |
KR100234204B1 (en) | 1997-05-15 | 1999-12-15 | 윤종용 | After service system using internet |
US5987454A (en) | 1997-06-09 | 1999-11-16 | Hobbs; Allen | Method and apparatus for selectively augmenting retrieved text, numbers, maps, charts, still pictures and/or graphics, moving pictures and/or graphics and audio information from a network resource |
US5983227A (en) | 1997-06-12 | 1999-11-09 | Yahoo, Inc. | Dynamic page generator |
US5903896A (en) * | 1997-07-15 | 1999-05-11 | Microsoft Corporation | Method for installing a file on demand using a preview |
US5974443A (en) | 1997-09-26 | 1999-10-26 | Intervoice Limited Partnership | Combined internet and data access system |
US6151708A (en) | 1997-12-19 | 2000-11-21 | Microsoft Corporation | Determining program update availability via set intersection over a sub-optical pathway |
US6807632B1 (en) | 1999-01-21 | 2004-10-19 | Emc Corporation | Content addressable information encapsulation, representation, and transfer |
US6845453B2 (en) | 1998-02-13 | 2005-01-18 | Tecsec, Inc. | Multiple factor-based user identification and authentication |
JP4006079B2 (en) * | 1998-02-27 | 2007-11-14 | 株式会社東芝 | Network computer and control method thereof |
US6163604A (en) | 1998-04-03 | 2000-12-19 | Lucent Technologies | Automated fraud management in transaction-based networks |
WO2000023928A2 (en) | 1998-10-19 | 2000-04-27 | Hardwarestreet.Com, Inc. | Internet business transaction processor |
AU6433699A (en) | 1998-10-19 | 2000-05-08 | Hardwarestreet.Com, Inc. | Dynamic selection of multiple distributors |
AU1211800A (en) | 1998-10-19 | 2000-05-08 | Hardwarestreet.Com, Inc. | Multi-level fraud check with dynamic feedback for internet business transaction processor |
US6230145B1 (en) | 1998-11-03 | 2001-05-08 | First Data Corporation | Method for providing bank card transaction data |
US6522342B1 (en) | 1999-01-27 | 2003-02-18 | Hughes Electronics Corporation | Graphical tuning bar for a multi-program data stream |
US6085171A (en) | 1999-02-05 | 2000-07-04 | Excel Communications, Inc. | Order entry system for changing communication service |
US6314095B1 (en) | 1999-02-11 | 2001-11-06 | Motorola, Inc. | Method and apparatus for a high-speed multimedia content switch with compressed internet protocol header |
US6226616B1 (en) * | 1999-06-21 | 2001-05-01 | Digital Theater Systems, Inc. | Sound quality of established low bit-rate audio coding systems without loss of decoder compatibility |
-
2003
- 2003-03-25 US US10/396,098 patent/US20030195974A1/en not_active Abandoned
- 2003-03-31 US US10/403,359 patent/US20030212992A1/en not_active Abandoned
-
2012
- 2012-04-27 US US13/458,367 patent/US9817650B2/en not_active Expired - Lifetime
Patent Citations (85)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4890258A (en) * | 1984-06-11 | 1989-12-26 | Sharp Kabushiki Kaisha | Schedule setting method |
US5357563A (en) * | 1992-01-10 | 1994-10-18 | Microbilt Corporation | Data card terminal for receiving authorizations from remote locations |
US6330546B1 (en) * | 1992-09-08 | 2001-12-11 | Hnc Software, Inc. | Risk determination and management using predictive modeling and transaction profiles for individual transacting entities |
US5819226A (en) * | 1992-09-08 | 1998-10-06 | Hnc Software Inc. | Fraud detection using predictive modeling |
US5860012A (en) * | 1993-09-30 | 1999-01-12 | Intel Corporation | Installation of application software through a network from a source computer system on to a target computer system |
US5835911A (en) * | 1994-02-08 | 1998-11-10 | Fujitsu Limited | Software distribution and maintenance system and method |
US5903566A (en) * | 1994-06-24 | 1999-05-11 | Metricom, Inc. | Method for distributing program code to intelligent nodes in a wireless mesh data communication network |
US20020133637A1 (en) * | 1995-08-14 | 2002-09-19 | Nicolas Popp | Method and apparatus for generating object-oriented world wide web pages |
US6651108B2 (en) * | 1995-08-14 | 2003-11-18 | Next Software, Inc. | Method and apparatus for generating object-oriented world wide web pages |
US6327617B1 (en) * | 1995-11-27 | 2001-12-04 | Microsoft Corporation | Method and system for identifying and obtaining computer software from a remote computer |
US5890137A (en) * | 1995-12-15 | 1999-03-30 | Kabushiki Kaisha N.K. Kikaku | On-line shopping system and the method of payment settlement |
US6650998B1 (en) * | 1996-03-11 | 2003-11-18 | At&T Corp. | Information Search System for enabling a user of a user terminal to search a data source |
US5768528A (en) * | 1996-05-24 | 1998-06-16 | V-Cast, Inc. | Client-server system for delivery of online information |
US20050273779A1 (en) * | 1996-06-07 | 2005-12-08 | William Cheng | Automatic updating of diverse software products on multiple client computer systems |
US6253186B1 (en) * | 1996-08-14 | 2001-06-26 | Blue Cross Blue Shield Of South Carolina | Method and apparatus for detecting fraud |
US6240396B1 (en) * | 1996-09-04 | 2001-05-29 | Priceline.Com Incorporated | Conditional purchase offer management system for event tickets |
US5832208A (en) * | 1996-09-05 | 1998-11-03 | Cheyenne Software International Sales Corp. | Anti-virus agent for use with databases and mail servers |
US6023698A (en) * | 1996-12-05 | 2000-02-08 | International Business Machines Corporation | System and method for transparently registering and updating information over the internet |
US6745224B1 (en) * | 1996-12-06 | 2004-06-01 | Microsoft Corporation | Object framework and services for periodically recurring operations |
US6073124A (en) * | 1997-01-29 | 2000-06-06 | Shopnow.Com Inc. | Method and system for securely incorporating electronic information into an online purchasing application |
US6049892A (en) * | 1997-02-24 | 2000-04-11 | Ethos Software Corporation | Process and apparatus for downloading data from a server computer to a client computer |
US6049892C1 (en) * | 1997-02-24 | 2002-06-04 | Ethos Software Corp | Process and apparatus for downloading data from a server computer to a client computer |
US6004276A (en) * | 1997-03-03 | 1999-12-21 | Quinton Instrument Company | Open architecture cardiology information system |
US6396805B2 (en) * | 1997-03-25 | 2002-05-28 | Intel Corporation | System for recovering from disruption of a data transfer |
US6097390A (en) * | 1997-04-04 | 2000-08-01 | International Business Machines Corporation | Progress-indicating mouse pointer |
US6317723B1 (en) * | 1997-05-05 | 2001-11-13 | Walker Digital, Llc | Method and apparatus for selling subscriptions to periodicals in a retail environment |
US6026369A (en) * | 1997-05-09 | 2000-02-15 | International Business Machines Corporation | Method for distributing advertising in a distributed web modification system |
US5903881A (en) * | 1997-06-05 | 1999-05-11 | Intuit, Inc. | Personal online banking with integrated online statement and checkbook user interface |
US6171006B1 (en) * | 1997-06-20 | 2001-01-09 | Lawrence B. Woodall | Sports bag for hand conditioning related composition and preparation method |
US6029141A (en) * | 1997-06-27 | 2000-02-22 | Amazon.Com, Inc. | Internet-based customer referral system |
US5920725A (en) * | 1997-07-02 | 1999-07-06 | Adaptivity Inc. | Run-time object-synthesis and transparent client/server updating of distributed objects using a meta server of all object descriptors |
US6157917A (en) * | 1997-07-11 | 2000-12-05 | Barber; Timothy P. | Bandwidth-preserving method of charging for pay-per-access information on a network |
US6314408B1 (en) * | 1997-07-15 | 2001-11-06 | Eroom Technology, Inc. | Method and apparatus for controlling access to a product |
US6029154A (en) * | 1997-07-28 | 2000-02-22 | Internet Commerce Services Corporation | Method and system for detecting fraud in a credit card transaction over the internet |
US6026413A (en) * | 1997-08-01 | 2000-02-15 | International Business Machines Corporation | Determining how changes to underlying data affect cached objects |
US6463418B1 (en) * | 1997-08-15 | 2002-10-08 | Sun Microsystems, Inc. | Secure and stateful electronic business transaction system |
US6029144A (en) * | 1997-08-29 | 2000-02-22 | International Business Machines Corporation | Compliance-to-policy detection method and system |
US5883810A (en) * | 1997-09-24 | 1999-03-16 | Microsoft Corporation | Electronic online commerce card with transactionproxy number for online transactions |
US6594682B2 (en) * | 1997-10-28 | 2003-07-15 | Microsoft Corporation | Client-side system for scheduling delivery of web content and locally managing the web content |
US6289452B1 (en) * | 1997-11-07 | 2001-09-11 | Cybersource Corporation | Method and system for delivering digital products electronically |
US6134584A (en) * | 1997-11-21 | 2000-10-17 | International Business Machines Corporation | Method for accessing and retrieving information from a source maintained by a network server |
US6292835B1 (en) * | 1997-11-26 | 2001-09-18 | International Business Machines Corporation | Network bandwidth and object obsolescence sensitive scheduling method and apparatus for objects distributed broadcasting |
US6223166B1 (en) * | 1997-11-26 | 2001-04-24 | International Business Machines Corporation | Cryptographic encoded ticket issuing and collection system for remote purchasers |
US6100887A (en) * | 1997-12-05 | 2000-08-08 | At&T Corporation | Reusable reversible progress indicator software component for a graphical user interface |
US5918217A (en) * | 1997-12-10 | 1999-06-29 | Financial Engines, Inc. | User interface for a financial advisory system |
US6336098B1 (en) * | 1997-12-11 | 2002-01-01 | International Business Machines Corp. | Method for electronic distribution and redemption of coupons on the world wide web |
US6263446B1 (en) * | 1997-12-23 | 2001-07-17 | Arcot Systems, Inc. | Method and apparatus for secure distribution of authentication credentials to roaming users |
US6108642A (en) * | 1998-02-02 | 2000-08-22 | Network Sciences Company, Inc. | Device for selectively blocking remote purchase requests |
US6385596B1 (en) * | 1998-02-06 | 2002-05-07 | Liquid Audio, Inc. | Secure online music distribution system |
US6074299A (en) * | 1998-02-06 | 2000-06-13 | Cohen; Robert H. | Internet based search contest |
US6233565B1 (en) * | 1998-02-13 | 2001-05-15 | Saranac Software, Inc. | Methods and apparatus for internet based financial transactions with evidence of payment |
US6021276A (en) * | 1998-03-11 | 2000-02-01 | International Business Machines Corporation | Method and apparatus for microcode downloading |
US20030028481A1 (en) * | 1998-03-25 | 2003-02-06 | Orbis Patents, Ltd. | Credit card system and method |
US6167567A (en) * | 1998-05-05 | 2000-12-26 | 3Com Corporation | Technique for automatically updating software stored on a client computer in a networked client-server environment |
US6389541B1 (en) * | 1998-05-15 | 2002-05-14 | First Union National Bank | Regulating access to digital content |
US6044471A (en) * | 1998-06-04 | 2000-03-28 | Z4 Technologies, Inc. | Method and apparatus for securing software to reduce unauthorized use |
US6185608B1 (en) * | 1998-06-12 | 2001-02-06 | International Business Machines Corporation | Caching dynamic web pages |
US6154729A (en) * | 1998-06-19 | 2000-11-28 | First Data Corporation | Method of reporting merchant information to banks |
US6128655A (en) * | 1998-07-10 | 2000-10-03 | International Business Machines Corporation | Distribution mechanism for filtering, formatting and reuse of web based content |
US6353926B1 (en) * | 1998-07-15 | 2002-03-05 | Microsoft Corporation | Software update notification |
US6199107B1 (en) * | 1998-07-22 | 2001-03-06 | Microsoft Corporation | Partial file caching and read range resume system and method |
US6799165B1 (en) * | 1998-07-28 | 2004-09-28 | Eimar M. Boesjes | Apparatus and methods for inventory, sale, and delivery of digitally transferable goods |
US6226618B1 (en) * | 1998-08-13 | 2001-05-01 | International Business Machines Corporation | Electronic content delivery system |
US6278449B1 (en) * | 1998-09-03 | 2001-08-21 | Sony Corporation | Apparatus and method for designating information to be retrieved over a computer network |
US6639687B1 (en) * | 1998-09-08 | 2003-10-28 | International Business Machines Corporation | Progress indicator for multiple actions |
US6473740B2 (en) * | 1998-11-29 | 2002-10-29 | Qpass, Inc. | Electronic commerce using a transaction network |
US7165051B2 (en) * | 1998-12-04 | 2007-01-16 | Digital River, Inc. | Electronic commerce system and method for detecting fraud |
US6247130B1 (en) * | 1999-01-22 | 2001-06-12 | Bernhard Fritsch | Distribution of musical products by a web site vendor over the internet |
US6263353B1 (en) * | 1999-02-17 | 2001-07-17 | Advanced Micro Devices, Inc. | Method and apparatus for converting between different digital data representation formats |
US6516346B1 (en) * | 1999-02-19 | 2003-02-04 | International Business Machines Corporation | Microcode upgrade in data processing system |
US6529885B1 (en) * | 1999-03-18 | 2003-03-04 | Oracle Corporation | Methods and systems for carrying out directory-authenticated electronic transactions including contingency-dependent payments via secure electronic bank drafts |
US6597891B2 (en) * | 1999-04-05 | 2003-07-22 | International Business Machines Corporation | Combining online browsing and on-demand data broadcast for selecting and downloading digital content |
US6697948B1 (en) * | 1999-05-05 | 2004-02-24 | Michael O. Rabin | Methods and apparatus for protecting information |
US6405175B1 (en) * | 1999-07-27 | 2002-06-11 | David Way Ng | Shopping scouts web site for rewarding customer referrals on product and price information with rewards scaled by the number of shoppers using the information |
US6574729B1 (en) * | 1999-08-26 | 2003-06-03 | Lucent Technologies Inc. | System for remotely identifying and providing information of unknown software on remote network node by comparing the unknown software with software audit file maintained on server |
US7171616B1 (en) * | 1999-09-27 | 2007-01-30 | International Business Machines Corporation | Method, system and computer program product for keeping files current |
US7181418B1 (en) * | 1999-11-30 | 2007-02-20 | John Todd Zucker | Internet customer service method and system |
US6505171B1 (en) * | 2000-02-04 | 2003-01-07 | Robert H. Cohen | System and method for handling purchasing transactions over a computer network |
US20030055781A1 (en) * | 2000-02-14 | 2003-03-20 | Ong Yong Kin | Electronic funds transfers-zipfund |
US6601047B2 (en) * | 2000-03-08 | 2003-07-29 | Inbit Inc. | Image-based digital evidence system and associated method |
US6622168B1 (en) * | 2000-04-10 | 2003-09-16 | Chutney Technologies, Inc. | Dynamic page generation acceleration using component-level caching |
US20020023054A1 (en) * | 2000-04-13 | 2002-02-21 | Gillespie Kenneth E. | Method and system for protecting credit card transactions |
US20020091555A1 (en) * | 2000-12-22 | 2002-07-11 | Leppink David Morgan | Fraud-proof internet ticketing system and method |
US6981037B1 (en) * | 2001-01-09 | 2005-12-27 | International Business Machines Corporation | Method and system for using access patterns to improve web site hierarchy and organization |
US20020161711A1 (en) * | 2001-04-30 | 2002-10-31 | Sartor Karalyn K. | Fraud detection method |
Cited By (107)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030140104A1 (en) * | 2000-12-06 | 2003-07-24 | Yuko Watanabe | Apparatus and method for providing contents |
US7979055B2 (en) * | 2000-12-06 | 2011-07-12 | Ntt Docomo, Inc. | Apparatus and method for providing contents |
US7191436B1 (en) * | 2001-03-08 | 2007-03-13 | Microsoft Corporation | Computer system utility facilitating dynamically providing program modifications for identified programs |
US20030050957A1 (en) * | 2001-09-07 | 2003-03-13 | Atul Hatalkar | Delegating scheduling tasks to clients |
US20040054995A1 (en) * | 2002-09-14 | 2004-03-18 | Samsung Electronics Co., Ltd. | Method of updating firmware |
US7536685B2 (en) * | 2002-09-14 | 2009-05-19 | Samsung Electronics Co., Ltd. | Method of updating firmware |
US20040139173A1 (en) * | 2002-12-11 | 2004-07-15 | Jeyhan Karaoguz | Media processing system automatically offering access to newly available media in a media exchange network |
US7797064B2 (en) | 2002-12-13 | 2010-09-14 | Stephen Loomis | Apparatus and method for skipping songs without delay |
US7937488B2 (en) | 2002-12-13 | 2011-05-03 | Tarquin Consulting Co., Llc | Multimedia scheduler |
US7912920B2 (en) | 2002-12-13 | 2011-03-22 | Stephen Loomis | Stream sourcing content delivery system |
US8868501B2 (en) * | 2003-05-22 | 2014-10-21 | Einstein's Elephant, Inc. | Notifying users of file updates on computing devices using content signatures |
US11561931B2 (en) | 2003-05-22 | 2023-01-24 | Callahan Cellular L.L.C. | Information source agent systems and methods for distributed data storage and management using content signatures |
US20120016850A1 (en) * | 2003-05-22 | 2012-01-19 | Carmenso Data Limited Liability Company | Notifying Users of File Updates on Computing Devices Using Content Signatures |
US9678967B2 (en) | 2003-05-22 | 2017-06-13 | Callahan Cellular L.L.C. | Information source agent systems and methods for distributed data storage and management using content signatures |
US9552362B2 (en) | 2003-05-22 | 2017-01-24 | Callahan Cellular L.L.C. | Information source agent systems and methods for backing up files to a repository using file identicality |
US20050131983A1 (en) * | 2003-07-28 | 2005-06-16 | Limelight Networks, Llc | Consistent browser file download |
US20050132083A1 (en) * | 2003-07-28 | 2005-06-16 | Limelight Networks, Llc | Multiple object download |
US8805966B2 (en) | 2003-07-28 | 2014-08-12 | Limelight Networks, Inc. | Rich content download |
US20100235474A1 (en) * | 2003-07-28 | 2010-09-16 | Limelight Networks, Inc. | Consistent browser file download |
US20120266075A1 (en) * | 2003-07-28 | 2012-10-18 | Limilight Networks, Inc. | Rich content download |
US8122100B2 (en) | 2003-07-28 | 2012-02-21 | Limelight Networks, Inc. | Multiple object download |
US8024358B2 (en) | 2003-07-28 | 2011-09-20 | Limelight Networks, Inc. | Consistent browser file download |
US7779035B2 (en) * | 2003-07-28 | 2010-08-17 | Limelight Networks, Inc. | Consistent browser file download |
US20050034151A1 (en) * | 2003-08-08 | 2005-02-10 | Maven Networks, Inc. | System and method of integrating video content with interactive elements |
US20050080846A1 (en) * | 2003-09-27 | 2005-04-14 | Webhound, Inc. | Method and system for updating digital content over a network |
US8209401B2 (en) * | 2003-10-03 | 2012-06-26 | Limelight Networks, Inc. | Rich content download |
US20060031785A1 (en) * | 2003-10-03 | 2006-02-09 | Limelight Networks, Llc | Rich content download |
WO2005036344A3 (en) * | 2003-10-03 | 2006-03-30 | Limelight Networks Inc | Rich content download |
US20050262546A1 (en) * | 2004-05-19 | 2005-11-24 | Yasuhiro Murase | Content supply system, content supply apparatus and method, content playback apparatus and method, and program |
US8578438B2 (en) * | 2004-05-19 | 2013-11-05 | Sony Corporation | Content supply system, content supply apparatus and method, content playback apparatus and method, and program |
US7765314B2 (en) * | 2004-07-16 | 2010-07-27 | Yamaha Corporation | Contents managing apparatus and program for the same |
US20060015815A1 (en) * | 2004-07-16 | 2006-01-19 | Yamaha Corporation | Contents managing apparatus and program for the same |
US7617256B2 (en) * | 2004-07-19 | 2009-11-10 | Microsoft Corporation | Remote file updates through remote protocol |
CN1744603B (en) * | 2004-07-19 | 2010-12-22 | 微软公司 | Method and computer updated through remote of remote protocol |
US20060026165A1 (en) * | 2004-07-19 | 2006-02-02 | Microsoft Corporation | Remote file updates through remote protocol |
US20180081508A1 (en) * | 2004-11-09 | 2018-03-22 | Blackberry Limited | Dynamic bar oriented user interface |
US11003316B2 (en) * | 2004-11-09 | 2021-05-11 | Blackberry Limited | Dynamic bar oriented user interface |
US11126323B2 (en) | 2004-11-09 | 2021-09-21 | Blackberry Limited | Dynamic bar oriented user interface |
US20060168098A1 (en) * | 2004-12-27 | 2006-07-27 | International Business Machines Corporation | Service offering for the delivery of partial information with a restore capability |
US20110173254A1 (en) * | 2005-04-08 | 2011-07-14 | Pablo Hernandez | System and method for scheduling device management |
US8849992B2 (en) * | 2005-04-08 | 2014-09-30 | Lg Electronics Inc. | System and method for scheduling device management |
US20070276767A1 (en) * | 2005-04-15 | 2007-11-29 | Sung-Woo Kim | Method for providing contents |
EP1869784A1 (en) * | 2005-04-15 | 2007-12-26 | KTFreetel Co., Ltd | Method for providing continuous downloading service of large size contents through wireless network and record media recored program for realizing the same |
US20070162538A1 (en) * | 2005-04-15 | 2007-07-12 | Sung-Woo Kim | System and method of providing contents for mobile communication terminal |
EP1869784A4 (en) * | 2005-04-15 | 2010-09-01 | Kt Freetel Co Ltd | Method for providing continuous downloading service of large size contents through wireless network and record media recored program for realizing the same |
US8050663B2 (en) * | 2005-04-15 | 2011-11-01 | Kt Corporation | System and method of providing contents for mobile communication terminal |
US10147081B2 (en) | 2005-04-15 | 2018-12-04 | Kt Corporation | Method for providing contents |
US20070208829A1 (en) * | 2005-04-15 | 2007-09-06 | Sung-Woo Kim | System and method for providing continuous downloading service of large size contents through wireless network and record media recored program for realizing the same |
US8145989B2 (en) | 2005-04-15 | 2012-03-27 | Kt Corporation | System and method for providing continuous downloading service of large size contents through wireless network and computer readable medium for realizing the same |
US20060248215A1 (en) * | 2005-04-28 | 2006-11-02 | Kabushiki Kaisha Toshiba | Information processing apparatus and information processing method |
US9117232B2 (en) | 2005-07-15 | 2015-08-25 | Amazon Technologies, Inc. | Browser-based retrieval and display of content associated with a link that matches a link signature |
US20110238524A1 (en) * | 2005-07-15 | 2011-09-29 | Nigel Green | Browser-based retrieval and display of content associated with a link that matches a link signature |
US8296392B2 (en) * | 2005-07-15 | 2012-10-23 | Amazon Technologies, Inc. | Browser-based retrieval and display of content associated with a link that matches a link signature |
US7975020B1 (en) * | 2005-07-15 | 2011-07-05 | Amazon Technologies, Inc. | Dynamic updating of rendered web pages with supplemental content |
US7975019B1 (en) * | 2005-07-15 | 2011-07-05 | Amazon Technologies, Inc. | Dynamic supplementation of rendered web pages with content supplied by a separate source |
US20070177587A1 (en) * | 2006-01-27 | 2007-08-02 | Gardner Paul A | Systems and methods for distributing data |
US7995588B2 (en) * | 2006-01-27 | 2011-08-09 | Vuze Llc | Systems and methods for distributing data within an internet having a plurality of nodes |
US20070294429A1 (en) * | 2006-06-19 | 2007-12-20 | Gerhard Dietrich Klassen | Device transfer of a server stored data item based on item ID and determined nature of intended destination |
US8510471B2 (en) * | 2006-06-19 | 2013-08-13 | Research In Motion Limited | Device transfer of a server stored data item based on item ID and determined nature of intended destination |
US20140052652A1 (en) * | 2006-10-31 | 2014-02-20 | Core Wireless Licensing S.A.R.L. | Legal text distribution and processing in mobile broadcasting |
US8484335B2 (en) * | 2006-11-06 | 2013-07-09 | At&T Intellectual Property I, L.P. | Methods, systems, and computer products for download status notification |
US20080109823A1 (en) * | 2006-11-06 | 2008-05-08 | Lloyd Thomas Whitfield | Methods, systems, and computer products for download status notification |
US9961296B2 (en) * | 2007-08-03 | 2018-05-01 | Adobe Systems Incorporated | Methods and apparatus for mandatory video viewing |
US20140304730A1 (en) * | 2007-08-03 | 2014-10-09 | Ty Lettau | Methods and apparatus for mandatory video viewing |
US8489668B2 (en) * | 2007-11-13 | 2013-07-16 | Intuit Inc. | Open platform for managing an agent network |
US20090125618A1 (en) * | 2007-11-13 | 2009-05-14 | Intuit Inc. | Open platform for managing an agent network |
US11580918B2 (en) | 2008-05-02 | 2023-02-14 | Tandem Diabetes Care, Inc. | Display for pump |
US11488549B2 (en) | 2008-05-02 | 2022-11-01 | Tandem Diabetes Care, Inc. | Display for pump |
US8966003B2 (en) | 2008-09-19 | 2015-02-24 | Limelight Networks, Inc. | Content delivery network stream server vignette distribution |
US20100077056A1 (en) * | 2008-09-19 | 2010-03-25 | Limelight Networks, Inc. | Content delivery network stream server vignette distribution |
US8713557B2 (en) * | 2009-06-25 | 2014-04-29 | Ricoh Company, Ltd. | Peer-to-peer method of deploying and managing executable code and associated plug-ins |
US20100333080A1 (en) * | 2009-06-25 | 2010-12-30 | Keys Gregory C | Peer-to-peer method of deploying and managing executable code and associated plug-ins |
US20120127100A1 (en) * | 2009-06-29 | 2012-05-24 | Michael Domenic Forte | Asynchronous motion enabled data transfer techniques for mobile devices |
WO2011002496A1 (en) * | 2009-06-29 | 2011-01-06 | Michael Domenic Forte | Asynchronous motion enabled data transfer techniques for mobile devices |
US8752116B2 (en) * | 2009-09-04 | 2014-06-10 | Lg Electronics Inc. | Method for partly updating software in network television |
US20110061082A1 (en) * | 2009-09-04 | 2011-03-10 | Lg Electronics Inc. | Method for partly updating software in network television |
US11770432B2 (en) | 2009-09-22 | 2023-09-26 | Qualcomm Incorporated | Enhanced block-request streaming system for handling low-latency streaming |
US11743317B2 (en) | 2009-09-22 | 2023-08-29 | Qualcomm Incorporated | Enhanced block-request streaming using block partitioning or request controls for improved client-side handling |
US20210051190A1 (en) * | 2009-09-22 | 2021-02-18 | Qualcomm Incorporated | Enhanced block-request streaming using block partitioning or request controls for improved client-side handling |
US8463876B2 (en) | 2010-04-07 | 2013-06-11 | Limelight, Inc. | Partial object distribution in content delivery network |
US8090863B2 (en) | 2010-04-07 | 2012-01-03 | Limelight Networks, Inc. | Partial object distribution in content delivery network |
US9055128B2 (en) * | 2010-06-14 | 2015-06-09 | Sony Corporation | Information processing device |
CN102947793A (en) * | 2010-06-14 | 2013-02-27 | 索尼电脑娱乐公司 | Information processing device |
US20130104121A1 (en) * | 2010-06-14 | 2013-04-25 | Sony Computer Entertainment Inc. | Information Processing Device |
US20120023528A1 (en) * | 2010-07-23 | 2012-01-26 | Verizon Patent And Licensing, Inc. | State-based recovery system |
US8539534B2 (en) * | 2010-07-23 | 2013-09-17 | Verizon Patent And Licensing Inc. | State-based recovery system |
US8370452B2 (en) | 2010-12-27 | 2013-02-05 | Limelight Networks, Inc. | Partial object caching |
US20120316873A1 (en) * | 2011-06-09 | 2012-12-13 | Samsung Electronics Co. Ltd. | Method of providing information and mobile telecommunication terminal thereof |
US10582033B2 (en) * | 2011-06-09 | 2020-03-03 | Samsung Electronics Co., Ltd. | Method of providing information and mobile telecommunication terminal thereof |
US10949188B2 (en) | 2011-12-28 | 2021-03-16 | Microsoft Technology Licensing, Llc | Mobile terminal and control method thereof |
US9032385B2 (en) | 2011-12-28 | 2015-05-12 | Lg Electronics Inc. | Mobile terminal and control method thereof |
US9575742B2 (en) | 2011-12-28 | 2017-02-21 | Microsoft Technology Licensing, Llc | Mobile terminal and control method thereof |
US11694794B2 (en) * | 2012-04-23 | 2023-07-04 | Tandem Diabetes Care, Inc. | System and method for reduction of inadvertent activation of medical device during manipulation |
EP2725506A3 (en) * | 2012-10-29 | 2016-10-12 | Samsung Electronics Co., Ltd | Apparatus and method for displaying loading state of web browser in portable terminal |
US20140123037A1 (en) * | 2012-10-29 | 2014-05-01 | Samsung Electronics Co., Ltd. | Apparatus and method for displaying loading state of web browser in portable terminal |
CN103793454A (en) * | 2012-10-29 | 2014-05-14 | 三星电子株式会社 | Apparatus and method for displaying loading state of web browser |
US11776689B2 (en) | 2013-03-15 | 2023-10-03 | Tandem Diabetes Care, Inc. | Field update of an ambulatory infusion pump system |
US11049614B2 (en) | 2013-03-15 | 2021-06-29 | Tandem Diabetes Care, Inc. | Field update of an ambulatory infusion pump system |
US8892686B1 (en) | 2013-12-19 | 2014-11-18 | Limelight Networks, Inc. | Dynamic content transformation for multiple devices |
US20160100025A1 (en) * | 2014-10-01 | 2016-04-07 | Rachel Ebner | Ui framework support for portal systems |
US9986057B2 (en) * | 2014-10-01 | 2018-05-29 | Sap Portals Israel Ltd. | UI framework support for portal systems |
JP2018120269A (en) * | 2017-01-23 | 2018-08-02 | キヤノン株式会社 | Information processing device, information processing method and program |
US20180349125A1 (en) * | 2017-06-01 | 2018-12-06 | Canon Kabushiki Kaisha | Information processing apparatus and program management method |
US10936297B2 (en) * | 2019-07-19 | 2021-03-02 | EMC IP Holding Company LLC | Method, device, and computer program product for updating software |
CN112241278A (en) * | 2019-07-19 | 2021-01-19 | 伊姆西Ip控股有限责任公司 | Method, apparatus and computer program product for updating software |
CN110430279A (en) * | 2019-08-14 | 2019-11-08 | 平安普惠企业管理有限公司 | File download control method and device |
US11683700B2 (en) | 2020-12-14 | 2023-06-20 | T-Mobile Usa, Inc. | Digital signatures for small cells of telecommunications networks |
Also Published As
Publication number | Publication date |
---|---|
US20120216182A1 (en) | 2012-08-23 |
US20030212992A1 (en) | 2003-11-13 |
US9817650B2 (en) | 2017-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9817650B2 (en) | Scheduling of a file download and search for updates | |
US8050980B2 (en) | Secure downloading of a file from a network system and method | |
JP4486169B2 (en) | Automatic update of various software products on multiple client computer systems | |
US8271396B2 (en) | Electronic commerce system and method for detecting fraud | |
US6628314B1 (en) | Computer interface method and apparatus with targeted advertising | |
US6266774B1 (en) | Method and system for securing, managing or optimizing a personal computer | |
US20090307683A1 (en) | Network-Based Update of Application Programs | |
US20020065801A1 (en) | Method of downloading web content to a network kiosk in advance | |
WO2001022245A1 (en) | Dynamic navigation tool bar incorporating real-language context addressing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |