throbber
United States Patent (19)
`Van Hoff et al.
`
`54 METHOD FOR THE DISTRIBUTION OF
`CODE AND DATA UPDATES
`
`75 Inventors: Arthur Van Hoff, Mountain View;
`Jonathan Payne, Santa Clara; Sami
`Shaio, Menlo Park, all of Calif.
`73 Assignee: Marimba, Inc.
`
`21 Appl. No.: 08/690,257
`22 Filed:
`Jul. 24, 1996
`51 Int. CI.
`
`O
`
`-1 - O
`
`- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
`
`C06F 17/30
`
`USOO5919247A
`Patent Number:
`11
`(45) Date of Patent:
`
`5,919,247
`Jul. 6, 1999
`
`5,619,716 4/1997 Nonaka et al..
`5,628,005 5/1997 Hurvig.
`5,634,052 5/1997 Morris.
`5,713,017
`1/1998 Lin et al..
`OTHER PUBLICATIONS
`Baron, Robert J. and L.G. Shapiro, Data Structures and their
`Implementation, 1980, p. 150 and pp. 218-219, Van Nos
`trand Reinhold Company, New York, New York, USA.
`Bentley, Jon L Multidimensional Binary Search Trees in
`Datab
`Applicat
`IEEE T
`t
`Soft
`OSC
`Ical IOnS,
`SCIOS O SOLWC
`Engineering, Jul. 1979, pp. 333-340, vol. SE-5, Institute of
`Electrical and Electronics Engineers, Inc., New York, New
`
`York, USA.
`
`56)
`
`52) U.S. C. - - - - - - - - - - - - - - - - - - - - - - - - - - - 709/217; 707/201; 395/712
`
`58 Field of Search ......................... 395/200.31, 200.33,
`395/200.49,395,47,395.59,684, 20047,
`200.48, 712; 707/201, 203
`
`yp
`Gotlieb, C.C. and L.R. Gotlieb, Data Twpes and Structures,
`1978, pp. 169-185, Prentice Hall Inc., Englewood Cliffs,
`New Jersey, USA.
`(List continued on next page.)
`Primary Examiner Dung C. Dinh
`References Cited
`Attorney, Agent, or Firm-Charles E. Gotlieb
`U.S. PATENT DOCUMENTS
`57
`ABSTRACT
`4,432,057 2/1984 Daniell et al..
`-
`4,468,728 8/1984 Wang.
`A System and method for distributing Software applications
`4,558,413 12/1985 Schmidt et al. ........................ 7071203
`and data to many thousands of clients over a network. The
`4,611,272 9/1986 Lomet.
`applications are called “channels', the Server is called the
`4,658,093 4/1987 Hellman.
`“transmitter', and the client is called the “tuner'. The use of
`4,714,992 12/1987 Gladney et al..
`channels is based on Subscription. The end-user needs to
`4,714,996 12/1987 Gladney et al..
`4.866,611
`9/1989 Cree et al..
`Subscribe to channel before it can be executed. When the
`4,875,159 10/1989 Cary et al..
`end-user Subscribes to a channel the associated code and
`4,897,781
`1/1990 Chang et al. .
`data is downloaded to the local hard-disk, and once down
`5,113,519 5/1992 Johnson et al..
`loaded the channel can be executed many times without
`5,115,504 5/1992 Belove et al..
`requiring further network acceSS. Channels can be updated
`5,155,847 10/1992 Kirouac et al..
`automatically at regular intervals by the tuner, and as a result
`5,341,477 8/1994 Pitkin et al. ....................... 395/200.56
`the end-user is no longer required to manually install Soft
`5,377,329 12/1994 Seitz.
`5,388.255
`2/1995 Pytlik et al. ................................ 707/4 WC updates, instead these Software and data updates C
`5,408,619 4/1995 Oran.
`automatically downloaded and installed in the background.
`5,434,994 7/1995 Shaheen et al..
`This method of automatic downloading of updates achieves
`5,471,629 11/1995 Risch.
`for the client the same result as the broadcast distribution of
`5,473,772 12/1995 Halliwell et al. ....................... 395/712
`Software over a connection based network, but wherein the
`5,491,820 2/1996 Belove et al..
`5,574,906 11/1996 Morris.
`client initiates each update request without requiring any
`5,581,764 12/1996 Fitzgerald et al. ...................... 395/703
`Special broadcast networking infrastructure.
`5,586,322 12/1996 Beck et al. .............................. 707/200
`5,606,705 2/1997 Randall et al..
`61 Claims, 13 Drawing Sheets
`
`700-
`
`77
`
`-
`
`fa
`
`SERVERSYSE
`
`cent SYSEM
`
`Network
`
`SERWEr SYSTEM
`
`CENT SYSE
`
`77
`
`
`
`WENT
`SYSTEM
`
`at
`
`fe
`
`73
`
`Proxy systew
`
`Page 1
`
`Lenovo Exhibit 1004
`
`

`

`5,919,247
`Page 2
`
`OTHER PUBLICATIONS
`
`Gull, W.E. and M.A. Jenkins, Recursive Data Structures in
`APL, Communications of the ACM, Jan. 1979, pp. 79–96,
`Vol. 22, No. 1, ASSociation for Computing Machinery, Inc.,
`Baltimore, Maryland, USA.
`Lee, D.T. and C.K. Wong, Quintary Trees: A File Structure
`for Multidimensional Database Systems, Sep. 1980, pp.
`339-353, vol. 5, No. 3, Association for Computing Machin
`ery, Inc., Baltimore, Maryland, USA.
`Tremblay, Jean-Paul and Paul G. Sorenson, An Introduction
`to Data Structures with Applications, 1984, pp. 811-826,
`Second Edition, McGraw-Hill Book Company, New York,
`New York, USA.
`Brown, Bradley J., Checksum Methodology as a Configu
`ration Management Tool, The Journal of Systems and Soft
`ware, Jun. 1987, pp. 141-143, vol. 7, Elsevier Science
`Publishing Co., Inc., New York, New York, USA.
`Segal, Mark E., and O. Frieder, Dynamically Updating
`Distributed Software: Supporting Change in Uncertain and
`Mistrustful Environments, Conference on Software Mainte
`nance-1989, Oct. 16–19, 1989, pp. 254-261, IEEE Com
`puter Society Press, Piscataway, New Jersey, USA.
`Danzig, Peter B., R. S. Hall and M. F. Schwartz, A Case for
`Caching File Objects Inside Internetworks, Proceedings:
`SIGCOM 93-Ithaca N.Y., 1993, pp. 239-248, Association
`for Computing Machinery, Inc., Baltimore, Maryland, USA.
`Wedde, Horst F. et al., Distributed Management of Repli
`cated and Partitioned Files Under Dragon Slayer, Confer
`ence Publication: Compsac90, The Fourteenth Annual Inter
`national Computer Software and Applications Conference,
`Oct. 1990, pp. 436–441, Institute of Electrical and Electron
`ics Engineers, Inc., New York, New York, USA.
`Pilarski, Slawomir, and T. Kameda, A Novel Checkpointing
`Scheme for Distributed Database Systems, Proceedings of
`the Ninth ACM SIGACT-SIGMOD-SIGART Symposium
`on Principles of Database Systems, Apr. 2-4, 1990, pp.
`368-378, ACM Press, Baltimore, MD., USA.
`Teorey, Toby J. and J.P. Fry, Design of Database Structures,
`1982, pp. xiii-XV and 3-492, Prentice-Hall, Englewood
`Cliffs, New Jersey, USA.
`Bentley, Jon Louis, and J.H. Friedman, Data Structures for
`Range Searching, Computing Surveys: The Survey and
`Tutorial Journal of the ACM, Dec. 1979, pp. 397–409, vol.
`11, No. 4, ASSociation for Computing Machinery, Inc.,
`Baltimore, Maryland, USA.
`Bentley, Jon Louis, Multidimensional Binary Search Trees
`Used for ASSociative Searching, Communications of the
`ACM, Sep. 1975, pp. 509–517, vol. 18, No. 9, Association
`for Computing Machinery, Inc., Baltimore, Maryland, USA.
`Date, C.J., An Introduction to Database Systems, 1981, pp.
`1–61, 97-115, 159-181, 237-273, 279-337, and 386-387,
`Third Edition, Addison-Wesley, Reading, Massachusetts,
`USA.
`Korth, Henry F., and A. Silberschatz, Database System
`Concepts (1 ed.), 1986, pp. 265-272, McGraw-Hill Book
`Company, New York, New York, USA.
`Nievergelt, J., Hinterberger, H., and K.C. Sevcik, The Grid
`File: An Adaptable, Symmetric Multikey File Structure,
`ACM Transactions on Database Systems, Mar. 1984, pp.
`37-71, vol. 9, No. 1, Association for Computing Machinery,
`Inc., Baltimore, Maryland, USA.
`
`Dart, Susan A., “The Past, Present and Future of Configu
`ration Management, Technical Report, Software Engineer
`ing Institute, Jul. 1992, pp. 1-28, Carnegie Mellon Univer
`sity, Pittsburgh, PA USA.
`Dart, Susan, “Concepts in Configuration Management Sys
`tems.” Article, Software Engineering Institute, Jun. 12-14,
`1991, Carnegie Mellon University, Pittsburgh, PA, USA.
`Hiller, Thomas, “SUP-das Software Update Protocol der
`Carnegie-Mellon Universitat.” Feb. 2, 1997 World Wide
`Web Page. German Language Document: A concise expla
`nation is attached.
`Kumar, Puneet, “Coping with Conflicts in an Optimistically
`Replicated File System.” Article, Nov. 8–9, 1990, pp. 60–64,
`School of Computer Science, Carnegie Mellon University,
`Pittsburgh, PA, USA.
`Downing, Alan R., et. al., “OSCAR: A System for Weak
`Consistency Replication,” Article, Nov. 8–9, 1990, pp.
`26-30, Information and Telecommunications Sciences Cen
`ter, SRI International, Menlo Park, CA, USA.
`Faloutsos, Christos, “Multiattribute Hashing. Using Gray
`Codes,” Article, Department of Computer Science, 1986, pp.
`227–238, University of Maryland, College Park, MD, USA.
`Feiler, Peter, and Downey, Grace, “Transaction-Oriented
`Configuration Management: A Case Study, Technical
`Report, Software Engineering Institute, Nov. 1990, pp.
`9-23, Carnegie Mellon University, Pittsburgh, PA USA.
`Feiler, Peter, and Downey, Grace, “Tool Version Manage
`ment Technology: A Case Study, Technical Report, Soft
`ware Engineering Institute, Nov. 1990, pp. 1-30 Carnegie
`Mellon University, Pittsburgh, PA USA.
`Feiler, Peter, “Software Configuration Management:
`Advances in Software Development Environments.” Article,
`Software Engineering Institute, Mar. 9 1990, pp. 1-12,
`Carnegie Mellon University, Pittsburgh, PA, USA.
`Cooper, Michael A., “Overhauling Rdist for the 90’s.”
`Article, Proceedings of the Sixth Systems Administration
`Conference (LISA VI), USENIX Association, Oct., 1992,
`pp. 175-188, Long Beach, CA, USA.
`Brown, A., et al., “The State of Automated Configuration
`Management,” Annual Technical Review, Sep. 1991, pp.
`1-52, Software Engineering Institute, Carnegie Mellon Uni
`versity, Pittsburgh, PA, USA.
`Brown, Mark R. and Ellis, John R., “Bridges: Tools to
`Extend the Vesta Configuration Management System,”
`Article, System Research Center, Digital Equipment Cor
`poration, Jun. 14, 1993, pp. 1-42, Palo Alto, CA, USA.
`Bauer, Michael A., “Naming and Name Management Sys
`tems: A Survey of the State of the Art,” Technical Report
`241, Jun. 1989, pp. 1-83, Distributed Directories Labora
`tory, Department of Computer Science, The University of
`Western Ontario, Ontario, Canada.
`Bauer, Michael A., et al., “Replication Strategies for X.500:
`Experiments with a Prototype X.500 Directory,” Technical
`Report 279, Oct. 1990, pp. 1-36, Distributed Directories
`Laboratory, Department of Computer Science, The Univer
`sity of Western Ontario, Ontario, Canada.
`Bennett, J.M. and Bauer, Michael A., “An Analysis of
`Replication Strategies for X.500-like Distributed Directo
`ries,” Proceedings, Workshop On the Management of Rep
`licated Data, Nov. 8–9, 1990, pp. 137-142 IEEE Comput.
`Soc. Press Los Alamitos, CA.
`
`Page 2
`
`

`

`5,919,247
`Page 3
`
`Broder, Andrei Z., “Some applications of Rabin's finger
`printing method,'Article, presented at workshop-Sequences
`II Methods in Communication, Security, and Computer
`Science, Jun. 17-21, 1991, pp. 143-152, Springer-Verlag,
`New York, USA, Published 1993.
`Broder, Andrei Z., et al., “Trading Space for Time in Undi
`rected s-t Connectivity,” Article, May 7, 1991. pp. 1-14,
`Digital Equipment Corporation, Systems Research Center,
`Palo Alto, CA, USA.
`Barbara, Daniel and Lipton, Richard J., “A Class of Ran
`domized Strategies for Low-Cost Comparison of File Cop
`ies,” Article, Apr. 1991, pp. 160-179, vol. 2, No. 2, IEEE
`Transactions On Parallel And Distributed Systems, Princ
`eton, NJ, USA.
`IBM, “Administrator's Guide” IBM Distributed Change
`Management Facility /MVS, Version 1, Release 1, 1 edi
`tion, Aug. 1990, pp. 1-64, Cary, NC, USA.
`Metzner, John A., “A Parity Structure for Large Remotely
`Located Replicated Data Files”, Article, IEEE Transactions
`on Computers vol. C 32, No. 8, Aug. 1983, pp. 727-730,
`IEEE Computer Society Press, Washington, D.C., USA.
`Schwarz, Thomas, et al., “Low Cost Comparisons of File
`Copies.” Technical Report, UCSD, Proc. Of the 10' inter
`national Conference on Distributed Computing Systems,
`May/Jun., 1990, pp. 196-202, IEEE Computer Society
`Press, Washington, D.C., USA.
`Sarin, Sunil, Floyd, Richard, and Phadnis, Nilkanth, “A
`Flexible Algorithm for Replicated Directory Management,”
`Article, Proc. Of the 9" International Conference on Dis
`tributed Computing Systems, 1989, pp. 456-464, IEEE,
`Cambridge, MA, USA.
`Rangajaran, Sampath and Fussell, Donald, "Rectifying Cor
`rupted Files in Distributed File Systems”, Article, 11"
`International Conference on Distributed Computing Sys
`tems, May, 1991, pp. 446-453, University of Maryland,
`College Park, MD, USA.
`Madej, Tom, “An Application of Group Testing to the File
`Comparison Problem.” Article, Proc. Of the 9" International
`Conference on Distributed Computing Systems, Jun., 1989,
`pp. 237-243, University of Illinois, Urbana, IL, USA.
`Barbara, Daniel, et al., “Exploiting Symmetries for
`Low-Cost Comparison of File Copies.” Article, 8" Inter
`national Conference on Distributed Computing Systems,
`Jun. 1988, pp. 471-479, IEEE Computer Society Press,
`Princeton University, Princeton, NJ.
`Fuchs, W.K., Wu, K. and Abraham, J., “Low-Cost Com
`parison and Diagnosis of Large Remotely Located Files,”
`Article, Proc. 5" Symposium on Reliability in Dist. Soft
`ware and Database Systems, Jan., 1986, pp. 67-73, IEEE,
`Computer Society Press, IL, USA.
`Pu, Calton, Noe, Jerre, and Proudfoot, Andrew, “Regenera
`tion of Replicated Objects: A Technique and its Eden
`Implementation.” IEEE Transactions on Software Engineer
`ing, vol. 4, No. 7, Jul. 1988, pp. 936–945, University of
`Wash., Seattle, WA, USA.
`Acharya, Arup, and Badrinath, B.R., “Delivering Multicast
`Messages in Networks with Mobile Hosts,” Article, Proc.
`13" International Conference on Distributed Computing
`Systems, May. 1993, pp. 292–299, IEEE Computer Society
`Press, Los Alamitos, CA, USA.
`Jia, Xiaohua, et al., "Highly Concurrent Directory Manage
`ment in the Galaxy Distributed System.” Article, Proc. 10"
`International Conference on Distributed Computing Sys
`tems, May-Jun., 1990, pp. 416–423, IEEE Computer Soci
`ety Press, Los Alamitos, CA, USA.
`
`Tugender, Ronald, “Maintaining Order and Consistency in
`Multi-Access Data.” Article, AFIPS Conference Proceed
`ings, 1979 National Computer Conference, Jun. 1979, pp.
`869-874, USC Information Science Institute, Marina Del
`Ray, CA, USA.
`Gopal, Inder and Segall, Adrian, “Directories for Networks
`with Casually Connected Users,” 1990, pp. 255-262,
`Elsevier Science Publishers B.V. (North-Holland.).
`Cheng, Hsiao-Chung and Sheu, Jang-Ping, “Design and
`Implementation of a Distributed File System.” Article, Soft
`ware-Practice and Experience, vol. 21(7), Jul., 1991, pp.
`657-675, John Wiley and Sons, Ltd.
`Grosse, Eric, “Repository Mirroring.” Article, ACM Trans
`actions on Mathematical Software, vol. 21, No. 1, Mar.
`1995, pp. 89–97, Murray Hill, NJ, USA.
`Howard, John H., “Using Reconciliation to Share Files
`between Occasionally Connected Computers,” Article, Proc.
`4" Workshop on Workstation Operating Systems, Oct.,
`1993, pp. 56–60, IEEE Computer Society Press, Cambridge,
`MA, USA.
`Courington, William, “The Network Software Environ
`ment,” Tech. Sun Microsystems Tech Report, 1989, pp.
`1-104, Sun Microsystems Mt. View, CA, USA.
`Nachbar, Daniel, “When Network File Systems Aren't
`Enough: Automatic Software Distribution Revisited.”
`Article, USENIX ASSociation, Summer Conference Pro
`ceedings, Jun., 1986, pp. 159-171, Bell Communications
`Research, Morristown, NJ, USA.
`Satdeva, Bjorn and Moriarty, Paul M., “Fdist: A Domain
`Based File Distribution System for a Heterogeneous Envi
`ronment,” USENIX Association, Proc. Of the 5' Large
`Installation Systems Administration Conference,(LISA V)
`Sep./Oct. 1991, pp. 109–125.
`Symborski, Carl, “Updating Software and Configuration
`Data in a Distributed Communications Network, Article,
`Hughes Network Systems, IEEE, 1988, pp. 331-8, German
`town, MD, USA.
`Shafer, Stephen and Thompson, Mary, “The SUP Software
`Upgrade Protocol, Sep. 1989, pp. 1-13, Carnegie Mellon
`University School of Computer Science, Pittsburgh, PA,
`USA.
`Prusker, Francis J. and Wobber, Edward P., “The Siphon:
`Managing Distant Replicated Repositories,” Article, Digital
`Equipment Corporation, Nov. 8-9, 1990, pp. 44-47, IEEE,
`Palo Alto, CA, USA.
`Cooper, Michael A., “Rdist Version 6.1, May 2, 1994, pp.
`1-4, University of Southern California Computing Services,
`Los Angeles, CA, USA.
`Paciorek, Noemi and Teller, Mark, “An Object Oriented,
`File System Independent, Distributed File Server,” Article,
`File Systems Workshop, USENIX Association, May 21,
`1992, pp. 45-62, Marlborough, MA, USA.
`Shasa, Dennis and Zhang, Kaizhong, “Fast Algorithms for
`the Unit Cost Editing Distance Between Trees.” Article,
`Journal of Algorithms II, 1990, 581-62, Academic Press,
`Inc, New York, NY, USA.
`Tai, Kuo-Chung, “The Tree to Tree Correction Problem,”
`Article, Journal of the ASSociation for Computing Machin
`ery, vol. 26, No. 3, Jul. 1979, pp. 422-433, Raleigh, NC,
`USA.
`Digital Equipment Corporation, “fingerprint/Src/finger
`print.i3.” SRC Modula-3, 1994, Digital Equipment Corpo
`ration, pp. 1-5, Maynard, MA, USA.
`
`Page 3
`
`

`

`5,919,247
`Page 4
`
`Loverso, Susan, et al., “The OSF/1 Unix Filesystem (UFS).”
`Article, USENIX, Winter, 1991, pp. 207-218, Dallas, Texas,
`USA.
`Lu, Shin-Yee, “A Tree to Tree Distance and It's Application
`to Cluster Analysis,” IEEE Transactions on Pattern Analysis
`and Machine Intelligence, vol. PAMI-1, No. 2, Apr., 1979,
`pp. 219–224, Syracuse University, Syracuse, NY, USA.
`Katz, Randy H., et al., “Version Modeling Concepts for
`Computer-Aided Design Databases,” Article, ASSociation
`for Computing Machinery, 1986, pp. 379–386, Berkeley,
`CA, USA.
`Kistler, James Jay, “Increasing File System Availability
`through Second Class Replication.” IEEE, Nov. 8-9, 1990,
`p. 69, Carnegie Mellon University, Pittsburgh, PA, USA.
`Kistler, James J. and Satyanarayanan, M., “Disconnected
`Operation in the Coda File System.” Article, ACM Trans
`actions on Computer Systems, vol. 10, No. 1, Feb. 1992, pp.
`3-25, ACM, Carnegie Mellon University, Pittsburgh, PA,
`USA.
`Harrison, Helen E., "So Many Workstations, So Little
`Time,” USENIX Association, Proc. Of the 6' Systems
`Administration Conference (LISA VI), Oct., 1992, pp.
`79-87, SAS Institute, Cary, NC, USA.
`Pukatzki, Dieter and Schumann, Johann, “Autoload; The
`Network Management System,” USENIX ASSociation,
`Proc. Of the 6' Systems Administration Conference (LISA
`VI), Oct., 1992, pp. 97-104, Germany.
`Rosenstein, Mark and Peisach, Ezra, “MkServ-Workstation
`Customization and Privatization,” USENIX ASSociation,
`Article, Proc. Of the 6" Systems Administration Conference
`(LISA VI), Oct., 1992, pp. 89–95, MIT Information Sys
`tems, Boston, MA, USA.
`Vangala, Ram R., et al., “Software Distribution and Man
`agement in a Networked Environment,” Article, USENIX
`Association, Proc. Of the 6" Systems Administration Con
`ference (LISA VI), Oct., 1992, pp. 163–170, NJ, USA.
`Zwicky, Elizabeth D., “Typecast: Beyond Cloned Hosts,”
`Article, USENIX Association, Proc. Of the 6' Systems
`Administration Conference (LISA VI), Oct., 1992, pp.
`73–78, SRI International, Menlo Park, CA, USA.
`Fletcher, Mark, “doit: A Network Software Management
`Tool.” Article, USENIX Association, Proc. Of the 6' Sys
`tems Administration Conference (LISA VI), Oct., 1992, pp.
`189-196, Cary, NC, USA.
`Tichy, Walter F., “An Introduction to the Revision Control
`System,” UNIX Programmer's Supplementary Documents
`vol. 1:13-1, Apr., 1986, pp. 13-1-13-21, Purdue University,
`West Lafayette, IN, USA.
`Eirich, Thomas, “Beam: A Tool for Flexible Software
`Update,” Article, 1994 LISA, Sep., 1994, pp. 75–82, Uni
`versity of Erlangen-Numberg, Germany.
`Rouillard, John P. and Martin, Richard B., “Depot-Lite: A
`Mechanism for Managing Software.” Article, 1994 LISA,
`Sep., 1994, pp. 83-91, Boston, Massachusetts, USA.
`Allman, Eric., “An Introduction to the Source Code Control
`System,” UNIX Programmer's Supplementary Documents
`vol. 1:14-1, Apr., 1986, pp. 14-1-14-15, Berkeley, CA,
`USA.
`Walpole, J. et al., “Maintaining Consistency in Distributed
`Software Engineering Environments.” Article, IEEE, Proc.
`Of the 8” International Conference on Distributed Comput
`ing Systems, Jun., 1988, (no page ifs), Bailrigg, United
`Kingdom.
`
`Osel, Peter, W. and Gansheimer, Wilfried, “OpenDist
`Incremental Software Distribution,” Article, USENIX ASSo
`ciation, Proc. Of the 9"Systems Administration Conference
`(LISA IX), Sep., 1995, pp. 181-193, Siemens AG,
`Munchen, Germany.
`Chiu, Sheng-Yang and Levin, Roy, “The Vesta Repository:
`A File System Extension for Software Development,”
`Article, Systems Research Center of Digital Equipment
`Corporation, Jun., 1993, pp. 1-32, Palo Alto, CA, USA.
`Manheimer, Kenneth, et al., “The Depot: A Framework for
`Sharing Software Installation AcroSS Organizational and
`UNIX Platform Boundaries.” Article, LISA IV, Oct., 1990,
`pp. 37-45.
`Jones, George M. and Romig, Steven M., “Cloning Cus
`tomized Hosts (or Customizing Cloned Hosts).” Article,
`LISAV, Sep./Oct., 1991, pp. 233–241, Ohio State Univer
`sity, Columbus, OH, USA.
`Rich, Kenneth and Leadley, Scott, “hobgoblin: A File and
`Directory Auditor,” Article, LISA V, Sep./Oct., 1991, pp.
`199-206, University of Rochester, Rochester, NY, USA.
`Wuu, Gene T.J. and Bernstein, Arthur, J., “Efficient Solu
`tions to the Replicated Log and Dictionary Problems.” Proc.
`Of the 3' PODC Conference Proceedings, ACM, 1984, pp.
`57-66, ACM Press, Department of Computer Science, Suny
`Stony Brook, Long Island, NY, USA.
`Daniels, Dean and Spector, Alfred Z., “An Algorithm for
`Replicated Directories.” Proc. Of the 2" PODC Conference
`Proceedings, 1983, pp. 24–43, ACM Press, Department of
`Computer Science, Carnegie Mellon University, Pittsburgh,
`PA, USA.
`Gladney, H.M., “Data Replicas in Distributed Information
`Services,” Article, ACM Transactions on Database Systems,
`vol. 14, No. 1, Mar. 1989, pp. 75–97, San Jose, CA, USA.
`Colton, Malcom, “Replicated Data in a Distributed Envi
`ronment,” Proc. Of the 1993 ACM SIGMOD International
`Conference on Management of Data, Vol. 22, ISSue 2, May,
`1993, pp. 464–6, ACM Press, Washington, D.C., USA.
`Alonso, Rafael and Korth, Henry F., “Database System
`Issues in Nomadic Computing.” Proc. Of the 1993 ACM
`SIGMOD International Conference on Management of
`Data, vol. 22, Issue 2, May, 1993, pp. 388-392, Princeton,
`NJ, USA.
`Lindsay, et al., “A Snapshot Differential Refresh Algorithm,”
`Proc. Of the 1986 ACM SIGMOD International Conference
`on Management of Data, ACM, 1986, pp. 53–60, ACM
`Press, San Jose, CA, USA.
`Wolfson, Ouri and Jajodia, Sushil., “Distributed Algorithms
`for Dynamic Replication of Data.” Proc. Of the 11". ACM
`SIGACT SIGMOD SIGART Symposium on Principles of
`Database Systems, ACM, Jul., 1992, pp. 149-156, ACM
`Press, San Diego, CA, USA.
`Liskov, Barbara, et al., “Replication in the Harp File Sys
`tem.” Proc. Of the 13" ACM Symposium on Operating
`Systems Principles, ACM, Oct., 1991, pp. 226-238, MIT,
`Cambridge, MA, USA.
`Liskov, Barbara, et al., “A Replicated UNIX File System,”
`ACM Operating Systems Review, vol. 25, No. 1, Jan., 1991,
`pp. 60–64, ACM Press, MIT, Cambridge, MA, USA.
`Ladin, Rivka, et al., "Lazy Replication: Exploiting the
`Semantics of Distributed Services,” ACM Operating Sys
`tems Review, vol. 25, No. 1, Jan., 1991, pp. 49-55, ACM
`Press, Cambridge, MA, USA.
`Tivoli Systems, Inc., “Tivoli/Courier User's Guide,” Tivoli
`Systems, Inc., 1991-5, pp. 1-1-8-27, Austin, TX, USA.
`
`Page 4
`
`

`

`5,919,247
`Page 5
`
`Tivoli Systems, Inc., “Tivoli/Courier Reference Manual,”
`Reference Manual, Tivoli Systems, Inc., 1991-5, pp.
`1-1-6-4, Austin, TX, USA.
`Lan Supervision, Inc., “Change Management Facility
`(CMF).” Administrator's Guide, 1995, pp. 2–159, San
`Ramon, CA, USA.
`Lan Supervision, Inc., "Change Management Facility,' Gen
`eral Information Guide, 1995, pp. 1-51, San Ramon, CA,
`USA.
`IBM, “General Information Manual,” IBM Distributed
`Change Management Facility /MVS, Version 1, Release 1,
`1 edition, Aug. 1990, pp. 1-50, Cary, NC, USA.
`
`AnderSon, Paul, “Managing Program Binaries in a Hetero
`geneous UNIX Network,” Article, LISAV Sep./Oct., 1991,
`pp. 1-7, University of Edinburgh, Edinburgh, U.K.
`Cooper, Michael, RDist (Computer Program and Documen
`tation), Web Site: http://hpux.dutchworks.nl, Date of Publi
`cation Unknown, not later than Feb. 25, 1997, HP Dutch
`works, The Netherlands.
`Lemay, Laura, “Official Guide to Castanet', 1997, iv-353
`and Supplements, 1 ed. Sams.net, Indianapolis, IN.
`
`Page 5
`
`

`

`U.S. Patent
`
`Jul. 6, 1999
`
`Sheet 1 of 13
`
`5,919,247
`
`700-
`
`770
`
`707
`
`740
`
`74 f
`
`SERVER SYSTEM
`
`CLENT SYSTEM
`
`SERVER SYSTEM
`O
`
`77
`
`
`
`777
`
`DEVELOPMENT
`SYSTEM
`
`NETWORK
`
`CLENT SYSTEM
`
`O
`747
`
`790
`
`797
`
`PROXY SYSTEM
`
`A76, 74
`
`Page 6
`
`

`

`U.S. Patent
`
`Jul. 6, 1999
`
`Sheet 2 of 13
`
`5,919,247
`
`
`
`NETWORK
`INTERFACE
`
`CLENT SYSTEM
`747
`
`OPERATING SYSTEM
`WEB BROWSER
`
`CHANNEL APPL.
`
`STORAGE SYSTEM
`
`HOLDING LOG
`
`HOLDING INDEX
`
`HOLDING DATA
`
`CHANNEL INDEX
`
`CHANNEL DATA
`
`CHANNEL
`
`A76, 7A
`
`Page 7
`
`

`

`U.S. Patent
`
`Jul. 6, 1999
`
`Sheet 3 of 13
`
`5,919,247
`
`
`
`SERVER SYSTEM
`
`OPERATING SYSTEM
`TRANSMITTER
`
`777
`
`777
`
`NETWORK
`NERFACE
`
`STORAGE SYSTEM
`
`CHANNEL INDEX
`
`CHANNEL DATA
`
`CHANNEL
`
`A/6 7.O.
`
`Page 8
`
`

`

`U.S. Patent
`
`Jul. 6, 1999
`
`Sheet 4 of 13
`
`5,919,247
`
`
`
`DEVELOPMENT SYSTEM
`737
`
`OPERATING SYSTEM
`DEVELOPMENT TOOLS
`
`767
`
`ADMINISTRATION TOOL
`
`772
`
`777
`NETWORK
`INTERFACE
`
`STORAGE SYSTEM
`
`CHANNEL DATA
`
`A/G 7A
`
`Page 9
`
`

`

`U.S. Patent
`
`Jul. 6, 1999
`
`Sheet 5 of 13
`
`5,919,247
`
`
`
`790
`
`PROXY SYSTEM
`
`NETWORK
`INTERFACE
`
`OPERATING SYSTEM
`
`HTTP PROXY SERVER
`
`STORAGE SYSTEM
`
`HTTP CACHE
`
`A76, 7A
`
`Page 10
`
`

`

`U.S. Patent
`
`Jul. 6, 1999
`
`Sheet 6 of 13
`
`5,919,247
`
`2O7
`DIRECTORY INDEX NODE 222
`2O3
`
`
`
`- 200
`
`CHECKSUM
`
`NUMBER OF CHILDREN
`
`2O4.
`
`
`
`
`
`
`
`CHECKSUM
`
`FILE INDEX NODE
`
`CHECKSUM
`
`FILE POINTER
`
`223
`
`224
`
`237
`
`232
`
`233
`
`234
`
`A76, 2
`
`Page 11
`
`

`

`U.S. Patent
`
`Jul. 6, 1999
`
`Sheet 7 of 13
`
`5,919.247
`
`FOREACH UNOUE
`NODE IN THE CLENT
`AND SERVER INDEX
`
`3OO
`
`
`
`
`
`
`
`
`
`
`
`YES
`
`307
`
`YES
`
`DIRECTORY
`NODE2
`
`
`
`NO
`
`IN BOTH
`NDCES
`
`303
`
`YES
`
`NO
`
`NO
`
`307
`
`
`
`
`
`N
`SERVER
`INDEX?
`
`(A)
`
`3O4
`
`YES(B)
`
`303
`
`YES (c)
`
`NO
`
`NO
`
`ISSUE CREATE
`FILE
`
`ISSUE DELETE
`FILE
`
`ISSUE UPDATE
`FILE
`
`309
`
`370
`
`377
`
`A/G 34
`
`Page 12
`
`

`

`U.S. Patent
`
`Jul. 6, 1999
`
`Sheet 8 of 13
`
`5,919,247
`
`
`
`3O2
`
`
`
`
`
`
`
`IN BOTH
`NDCES2
`
`NO
`
`
`
`YES
`
`GB)
`
`NO ACTION
`RECURED
`
`N SERVER
`INDEX?
`
`
`
`NO
`
`2O6
`
`39
`
`YES
`
`
`
`
`
`ISSUEFLE OFF
`
`ISSUE DELETE
`DIRECTORY
`
`ISSUE CREATE
`DIRECTORY
`
`312
`
`373
`
`374
`
`A/G 3A
`
`Page 13
`
`

`

`U.S. Patent
`
`Jul. 6, 1999
`
`Sheet 9 of 13
`
`5,919,247
`
`SELECT CHANNEL
`
`407
`
`4O2
`
`
`
`PREPARE SUBSCRIBE
`RECQUEST
`
`403
`
`
`
`
`
`GET CHANNEL INDEX
`
`
`
`
`
`
`OPTIMIZE
`UPDATE2
`
`PREPARE OPTIMIZEO
`UPDATE RECQUEST
`
`
`
`
`
`PREPARE UPDATE
`REGUEST
`
`409
`
`ADD CENT
`NFORMATION
`
`
`
`429
`
`ADD CHANNEL DATA
`
`A/G 4
`
`Page 14
`
`

`

`U.S. Patent
`
`Jul. 6, 1999
`
`Sheet 10 of 13
`
`5,919.247
`
`407
`
`O2
`
`PREPARE REGUEST
`
`CONNECT TO
`TRANSMITTER
`
`
`
`O3
`
`NO
`
`YES
`
`SEND REGUEST
`
`WAT FOR REPLY
`
`
`
`
`
`
`
`READ REPLY
`
`
`
`
`
`CONNECT TO
`REDIRECTED
`TRANSMITTER
`
`
`
`
`
`
`
`INDEX
`RECURED?
`
`PREPARE UPDATE
`RECQUEST
`
`GA)
`
`GB)
`A/G 34
`
`477
`
`Page 15
`
`

`

`U.S. Patent
`
`Jul. 6, 1999
`
`Sheet 11 of 13
`
`5,919,247
`
`CB)
`
`572
`(A)
`
`NO
`
`APPEND
`YES COMMANDS TO
`HOLDING
`SPACE
`
`573
`
`REPORTERROR
`
`afe5
`
`476
`
`
`
`
`
`
`
`AP
`PLICATIONNYES
`RUNNING
`
`NOTIFY
`APPLICATION
`
`674
`
`
`
`UPDATE
`CHANNEL DATA
`
`677
`
`A76, 6A
`
`Page 16
`
`

`

`U.S. Patent
`
`Jul. 6, 1999
`
`Sheet 12 of 13
`
`5,919,247
`
`READ REGUEST
`
`300
`
`a07
`
`REEE,
`
`YES
`
`NO
`
`DETERMINE
`CORRECT HOST
`AND PORT
`
`602
`(A)
`
`aO4
`ys GET INDEX FROM
`CLIENT INDEX
`CACHE
`
`EAEP
`
`625
`CB)
`
`
`
`
`
`
`
`
`
`
`
`NO
`
`603
`
`YES
`
`SUBSCRIBE
`
`NO
`
`a 72
`
`YES
`
`NO
`
`SEND ERROR
`REPLY
`
`676
`
`USE EMPTY
`CLIENT INDEX
`
`609
`
`(C)
`
`USE CLIENT
`INDEX FROM
`REGUEST
`
`67.3
`(D)
`
`GE)
`
`A/G. 64
`
`Page 17
`
`

`

`U.S. Patent
`
`Jul. 6, 1999
`
`Sheet 13 of 13
`
`5,919,247
`
`(A)
`
`SEND REDIRECT
`REPLY
`
`a23
`
`GB)
`
`(C)
`
`GD)
`
`606
`
`
`
`6O7
`
`SEND INDEX
`RECURED REPLY
`
`YES
`
`
`
`
`
`OBTAIN SERVER
`INDEX FROM
`PLUG-N
`
`
`
`COMPARE CLENT
`NDEX AND
`SERVER INDEX
`
`STORE INDEX IN
`CLENT INDEX
`CACHE
`
`674
`
`DETERMINE
`DELAY UNTL
`NEXT UPDATE
`
`
`
`SEND UPDATE
`REPLY
`
`WRITE LOG
`ENTRY
`
`6.79
`
`A/G 6A9
`
`Page 18
`
`

`

`1
`METHOD FOR THE DISTRIBUTION OF
`CODE AND DATA UPDATES
`
`5,919.247
`
`15
`
`BACKGROUND OF THE INVENTION
`This invention relates to the distribution of Software over
`a network. More particularly, this invention relates to the
`broadcasting of code and data, and updates thereto, to a
`plurality of subscribers.
`In large Scale networkS Such as the Internet, or Intranets
`within businesses, the distribution of Software applications
`is often a manual and laborious process which requires the
`correct use of Such program tools Such as ftp, tar, compress,
`uudecode, and Zip. The variety of platforms and tools, and
`the complexity of the installation procedures make this
`manner of distribution a complex and costly operation.
`Software installation is therefore frequently performed by
`Specially trained System administrators rather than end
`USCS.
`The Internet has significantly accelerated the release
`Schedule of applications significantly. Software is released
`more frequently and in Smaller increments, and as a result
`many more installations have to be performed, resulting in
`more work for the system administrator. This multitude of
`releases can cause versioning problems when a new piece of
`installed Software becomes incompatible with Some previ
`ously installed Software. AS these updates occur more often,
`it is desirable to automate this update process.
`A browser is a computer program for accessing the
`Internet via the World Wide Web, using the HTTP protocol.
`Browser plug-ins allow the user to extend the browser So
`that it can incorporate new functionality. Plug-ins are often
`very hard to install because they are platform dependent, and
`not Secure because they are implemented in low level
`languages Such as C or C++. To make plug-ins Secure the
`browser needs to implement Some form of authentication
`algorithm Such as those based on the RSA algorithm.
`The Java programming language and the introduction of
`Java applets has made it possible to run the Same Software
`program in a Secure manner on many different platforms,
`thus enabling the wide distribution of Such programs over a
`heterogeneous network such as the Internet. With Java
`applets it has also become possible to automatically launch
`small Java programs from a WorldWide Web browser which
`eliminates a lot of the installation headache.
`When Java applets are used as applications, the user is
`required to use a browser to navigate to the HTML page
`containing the desired applet. Once the applet is running it
`is usually constrained to the HTML page in which it is
`embedded, and the applet may be terminated prematurely
`when the user visits a new HTML page.
`Further, Java applets have Several restrictions which pre
`vent them from Scaling to larger applications. One problem
`is that the download times are too long because each Java
`class is loaded using a separate HTTP connection, and
`making each new connection often takes more time than the
`actual data transfer. Also, Java applets have to be reloaded
`from their Source each time they are used, there is no
`mechanism for persistence other than HTTP caching. HTTP
`caching has the drawback that it is too low level, which
`60
`causes versioning problems because it may mix old Java
`classes with newer Java classes. It is usually impossible to
`flush an applet from an HTTP cache, because it is not
`possible to know which files in the cache belong to the
`applet that needs to be flushed.
`Because Java applets are reloaded for each use, and
`because they usually consist of many parts, they can Sig
`
`2
`nificantly increase the number of Server accesses and thus
`Significantly increase the Server load. As a result most high
`Volume web-sites cannot afford to put Java applets on their
`HTML pages.
`A Java applet generally cannot be used when the client
`computer is disconnected from the network. If the user
`wants to use an applet after disconnecting the network, it is
`first necessary to use all the features of the applet to populate
`the HTTP cache. However, if the user ventures into a
`previously unexplored part of the applet once disconnected,
`the applet will be unable to proceed and a fatal error will
`result. This is a major drawback of caching Strategies
`because disconnected use is important for the next genera
`tion of portable Internet devices.
`Another drawback of HTTP is that ongoing transactions
`can often be corrupted when new code and data is installed
`on the Server. This is not a fatal problem when it happens to
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket