`
`
`
`
`
`Rimfire Version 1.0 Functional Specification
`
`Rimfire Functional Specification
`Version 1.0 Core Feature Set
`Written by Rimfire Core Development Team
`
`PWT Confidential
`
`revision 4
`
`April 12, 1999
`
`Exhibit 2010
`Google Inc. v. Summit 6 LLC
`IPR2015-00806, Summit 6 LLC
`
`
`
`Rimfire Version 1.0 Functional Specification
`
`
`
`Page 2
`
`Table of Contents
`1.
`Introduction ...................................................................................................................... 4
`Overview and Background ...................................................................................................................... 4
`Key Rimfire Features .............................................................................................................................. 4
`Key Benefits ............................................................................................................................................ 5
`Server Deployment .................................................................................................................................. 5
`Media and Information Storage ............................................................................................................... 5
`Product Configuration and Deployment .................................................................................................. 6
`2.
`High-Level System Design ............................................................................................... 7
`Example Usage ........................................................................................................................................ 7
`Services .................................................................................................................................................... 8
`Named Service ......................................................................................................................................... 8
`Usage ....................................................................................................................................................... 8
`The Control Service ................................................................................................................................. 8
`Hosting and Mirroring Services .............................................................................................................. 8
`HOST Service .......................................................................................................................................... 9
`The MIRROR Service ............................................................................................................................ 10
`Group Submissions ................................................................................................................................ 11
`Services and Responses ......................................................................................................................... 11
`Submission-Side Communication ......................................................................................................... 13
`Distribution Lists ................................................................................................................................... 13
`Service Links and Related Processing Tables ....................................................................................... 13
`Filters ..................................................................................................................................................... 13
`Rimfire Repository ................................................................................................................................ 14
`Media Storage Requirements ................................................................................................................ 14
`System Scalability ................................................................................................................................. 14
`System Extensibility .............................................................................................................................. 15
`Media Type Checking ........................................................................................................................... 17
`Error Handling ....................................................................................................................................... 17
`Transmission Error Recovery ................................................................................................................ 18
`Transaction Logging .............................................................................................................................. 18
`Integration and Build Environments ..................................................................................................... 18
`Test and Production Environments ....................................................................................................... 18
`Web-Hosting Services ........................................................................................................................... 18
`3.
`Hardware/Software Configuration .............................................................................. 19
`System Design ....................................................................................................................................... 19
`Rimfire Server Control .......................................................................................................................... 20
`Hardware and Operating System Requirements .................................................................................... 20
`4.
`Detailed Software Design .............................................................................................. 21
`Overview ............................................................................................................................................... 21
`Prepare & Post ....................................................................................................................................... 21
`Minimal Browser Design ...................................................................................................................... 32
`Component Deployment Issues ............................................................................................................. 33
`JAR File Archives ................................................................................................................................. 33
`Web-site/page Integration ..................................................................................................................... 34
`Rimfire Central Processing .................................................................................................................... 34
`Rimfire Servers ...................................................................................................................................... 34
`Media Storage ........................................................................................................................................ 37
`Mirror Service Delivery Methods ......................................................................................................... 38
`Filters ..................................................................................................................................................... 38
`Image Retrieval ..................................................................................................................................... 41
`Firewall Support .................................................................................................................................... 43
`Rimfire Server Control .......................................................................................................................... 43
`
`PWT Confidential
`
`revision 4
`
`April 12, 1999
`
`Exhibit 2010
`Google Inc. v. Summit 6 LLC
`IPR2015-00806, Summit 6 LLC
`
`
`
`Rimfire Version 1.0 Functional Specification
`
`
`
`Page 3
`
`Codebase ................................................................................................................................................ 43
`The Rimfire Data Model ....................................................................................................................... 55
`Performance ........................................................................................................................................... 64
`Media Updates and Deletes ................................................................................................................... 65
`Error Logging ........................................................................................................................................ 66
`Transaction Logging .............................................................................................................................. 67
`Rimfire Transmission Error Recovery .................................................................................................. 67
`Runtime Production Environment ......................................................................................................... 70
`5.
`Client Integration ........................................................................................................... 77
`Rimfire-Enabling Web Applications with RSAPI ................................................................................ 77
`Rimfire Eval -- The Rimfire Evaluation Web Application ................................................................... 79
`Client Distribution Support ................................................................................................................... 79
`Rimfire Account Maintenance .............................................................................................................. 81
`Industry Codes ....................................................................................................................................... 81
`6.
`Authentication and Security ......................................................................................... 83
`Submission Security Checking .............................................................................................................. 83
`Access Control ....................................................................................................................................... 83
`Passwords .............................................................................................................................................. 84
`7.
`Desktop Tools ................................................................................................................. 85
`8.
`Production Deployment and Web Hosting Services ................................................... 86
`9.
`Documentation ............................................................................................................... 87
`10. Appendix ......................................................................................................................... 88
`Oracle Performance Tuning .................................................................................................................. 88
`Quality Assurance [LOGIGEAR SECTION] TBD .............................................................................. 89
`Glossary of Terms ................................................................................................................................. 89
`Rimfire Submission API (RSAPI) ......................................................................................................... 89
`Rimfire Submission API .................................................................................................. 89
`User Guide & Reference ....................................................................................................................... 89
`Getting Started ....................................................................................................................................... 89
`API Summary ........................................................................................................................................ 89
`API Guide .............................................................................................................................................. 89
`API Reference ....................................................................................................................................... 89
`11. Getting Started ............................................................................................................... 89
`12. Rimfire Submission API Summary .............................................................................. 89
`The MediaForm ..................................................................................................................................... 90
`The MediaObject ................................................................................................................................... 91
`13. Rimfire Submission API – Guide ................................................................................. 91
`14. Rimfire Submission API – Reference ........................................................................... 91
`MediaForm – Properties ........................................................................................................................ 91
`System Properties .................................................................................................................................. 95
`MediaForm – Bound Properties ............................................................................................................ 95
`MediaForm – Methods .......................................................................................................................... 96
`MediaForm – Callbacks ........................................................................................................................ 98
`MediaObject – Properties .................................................................................................................... 101
`MediaObject – Bound Properties ........................................................................................................ 102
`MediaObject – Methods ...................................................................................................................... 103
`
`PWT Confidential
`
`revision 4
`
`April 12, 1999
`
`Exhibit 2010
`Google Inc. v. Summit 6 LLC
`IPR2015-00806, Summit 6 LLC
`
`
`
`Rimfire Version 1.0 Functional Specification
`
`
`
`Page 4
`
`1. Introduction
`The Rimfire Version 1.0 functional specification describes the features and functionality of the core
`Rimfire system. Design and implementation details are described only for those features identified as core
`in the Rimfire Project Plan (see the Rimfire Project draft.mpp document.) This includes the Rimfire host
`and Rimfire mirror services and their supporting components for submission and distribution of media.
`
`The specification is divided into 3 major sections: High-Level System Design, Hardware/Software
`Configuration, and Detailed Software Design. The High Level System Design section provides a general
`overview of all Rimfire systems and subsystems and how they relate to each other in accomplishing the
`overall product objectives. The Hardware/Software Configuration section focuses on version 1.0
`development, testing and production hardware/software environments as well as on issues relating to
`migrating the codebase and database from development to production. The Detailed Software Design
`section focuses on the design and implementation details of each subsystem and component and discusses
`critical design decisions affecting the various subsystems, their interfaces and interactions.
`
`Note that sections and items marked “TBD” have not yet been developed but are slated for completion for
`version 1.0.
`
`Overview and Background
`
`The Rimfire system is a set of services and tools that make it easy for businesses to submit, access and
`control mission critical media content over the Internet. For businesses interested in browser-based picture
`submission, the system provides an easy solution for moving pictures over the Internet from point A to
`point B. Using PictureWorks Prepare & Post tool to submit pictures from a standard browser, the Rimfire
`system offers a highly available and efficient alternative to manual processing of media in order to
`incorporate media into clients’ server-based web pages. The Rimfire system uses customer-defined filters
`for sizing and enhancing images targeted for distribution to clients and their affiliates. All image
`enhancement is completed before media is delivered to the client using PictureWorks MediaPush
`technology.
`
`Key Rimfire Features
`
` Drag and Drop functionality
`Users need not worry about formatting or sizing requirements. They simply drag the image from its
`location on the hard drive into the submission page presented to them within their browser.
`
` Multiple images per page
`A submission page can handle as many photos on one page as is required by the customer. No need to
`submit photos one at a time.
`
` View thumbnails of images being uploaded
`As each photo is dragged and dropped onto the submission page, a thumbnail representation appears to
`help the customer make sure they are sending the right images.
`
` File format support
`Version 1.0 of the Rimfire system supports the JPEG and bitmap (BMP) file formats. Future versions
`will support a wider variety of image formats.
`
` Upload progress feedback
`Users monitor the success of an image upload over the Internet via messages displayed within their
`browser.
`
` •
`
` •
`
` •
`
` •
`
` •
`
`
`
`PWT Confidential
`
`revision 4
`
`April 12, 1999
`
`Exhibit 2010
`Google Inc. v. Summit 6 LLC
`IPR2015-00806, Summit 6 LLC
`
`
`
`Rimfire Version 1.0 Functional Specification
`
`
`
`Page 5
`
`•
`
` •
`
`
`
` Support for multiple browser platforms and versions
`
`
`Intelligent Client Integration with RSAPI
`Using Rimfire’s RSAPI (Rimfire Submission Application Programming Interface), partners can easily
`Rimfire-enable their web pages and applications.
`
`Key Benefits
`• Customers leverage the World Wide Web for inexpensive content delivery.
`Today anyone with personal or business interests and a computer spends time using a browser for
`email communications as well as for sending and receiving files. The Rimfire system Prepare & Post
`tool allows users to drag and drop images into a browser from their local hard drive and then to simply
`click a button to send the images to their destination. There is no need to pay for desktop utilities, web
`hosting services, FTP sites, or other delivery mechanisms in order to get pictures to where they need to
`be. It can all be done from a standard browser using the Internet for transport.
`
` Customers submit images immediately without needing to overcome technical obstacles.
`Image submission is easy with Rimfire System’s Prepare & Post tool. Understanding terms like jpeg,
`resolution, sizing, ftp, hosting and others is not necessary. Prepare and Post™ handles all these tasks
`for the user.
`
` Customers have a uniform, reliable and secure channel for media acquisition.
`Partners who integrate media content into their web site can rely on the Rimfire System to deliver
`media according to their specific delivery requirements. It is no longer necessary to rely on internal
`staff and outside imaging services in order to incorporate images directly into your web pages.
`PictureWorks MediaPush technology opens up a direct channel between your employees and affiliates
`who submit media and end-users who view media on your web pages.
`
` Dramatically reduces turnaround time
`A typical Real Estate business experiences several days between the time images are delivered from its
`agents and the time they are posted on its web site. During that time, employees categorize and scan
`submitted images to create an electronic file, which is usually sized and otherwise enhanced. If there
`are intermediate destinations for photographs or files, this also adds time to the turnaround process.
`With the Rimfire system’s Prepare & Post tool, combined with the mirroring service, a client will see
`turnaround times measured in minutes rather than days.
`
` Customers submitting images save time by submitting them to only one destination.
`The Rimfire system allows agents to submit the images only once yet have them automatically
`delivered to multiple destinations.
`
` Clients have access to a large shared media pool.
`By subscribing to the Rimfire image services, Real Estate sites have access to a large media pool
`representing images from a variety of locations.
`
` •
`
` •
`
` •
`
` •
`
` •
`
`Server Deployment
`The Rimfire central processing server has been designed to run under Windows NT 4.0. The system was
`developed and tested at PictureWorks and has production systems serving Rimfire partners currently
`deployed at Navisite (www.navisite.com). See the Web-Hosting Services section for details.
`
`Media and Information Storage
`Growing a service-based system for media delivery supporting multiple clients requires a flexible
`information repository driving the overall processing cycle. To this end, the Rimfire development team has
`built the Rimfire repository on an Oracle 8.0 database (Oracle 8.05 Workgroup Edition.) All programmatic
`database interaction from Rimfire server components is accomplished using an Oracle JDBC bridge. The
`
`PWT Confidential
`
`revision 4
`
`April 12, 1999
`
`Exhibit 2010
`Google Inc. v. Summit 6 LLC
`IPR2015-00806, Summit 6 LLC
`
`
`
`Rimfire Version 1.0 Functional Specification
`
`
`
`Page 6
`
`database is used to store information about images, clients, distribution lists, etc. Media items (images,
`video, sound, etc.) are not themselves stored in the database but are stored as flat files on the Rimfire file
`servers (see the Server table in the database schema section.)
`
`Product Configuration and Deployment
`The Rimfire system was designed to support multiple clients and multiple services from one or more load-
`balanced NT servers. Depending on the volume of usage expected from our partners, a single installation
`can be dedicated to a single partner or can service multiple partners. One advantage of supporting multiple
`partners with a single server configuration is that we have a single point of sale for all clients. Another
`advantage is that if the volume for our clients is relatively moderate, we can support more clients with a
`relatively small amount of hardware. The system could also be deployed along industry lines. For
`example, one system could be deployed to service the entire real-estate industry. Some other factors
`influencing production configurations are the volume of transactions for a single partner (e.g., an EBay
`type partner) and partner requirements.
`
`Some partners may require deployment of the Rimfire servers at their own site rather than at a PWT-
`controlled site. It is reasonable to assume that we will be required to do this at some point. This is why it’s
`important to separate key parts of the system and be generic where possible. To this end, the Rimfire
`Central server components have been written exclusively in generic JDK 1.1 Java and are highly portable.
`The only exception to this is the image conversion libraries. These are written in C++ and are x-86
`processor-specific. The interface to the various conversion routines has been standardized and has been
`made extensible in order to allow for alternative media conversion methods supporting new types of media
`and other platforms (see the Filters section under Detailed Software Design for details on extensible
`conversion support.) Thus, in the current implementation, platform dependencies within the Rimfire system
`have been isolated and encapsulated via generic and overridable interfaces.
`
`
`
`PWT Confidential
`
`revision 4
`
`April 12, 1999
`
`Exhibit 2010
`Google Inc. v. Summit 6 LLC
`IPR2015-00806, Summit 6 LLC
`
`
`
`Rimfire Version 1.0 Functional Specification
`
`
`
`Page 7
`
`2. High-Level System Design
`The Rimfire system as a whole provides a 3-tier Internet-based infrastructure for submitting, storing,
`filtering and distributing media items (version 1.0 is limited to image media.) Figure 1 below illustrates the
`overall 3-tier client/server partitioning of the Rimfire system and focuses on the flow of data (media) from
`client sources to consumer destinationsi:
`
`
`Client (sources)
`
`a. Submission
`Tools
`
`IP
`Boundary
`
` Consumer(destinations)
`
`
`f. Distribution
`Tools, Viewers
`
`CLIENTCLIENT
`
`TIERTIER
`
`APPLICATIONAPPLICATION
`
`TIERTIER
`
`Asp/CF
`b. Central Server
`Store, Filter,
`Distribute
`
`
`Asp/CF
`e. Mirrored
`Client
`Repository
`
`
`DATABASEDATABASE
`
`TIERTIER
`
` c.Master
`
`d.Mirror
`
`IP
`Boundary
`
`
`
`Figure 1 – The Rimfire System 3-Tier Partitioning
`
`
`
`Example Usage
`Typically, a client subscribing to Rimfire services is interested in enhancing industry specific web sites
`with visual media such as jpeg, bmp and gif images that are associated with domain-specific information
`stored in a database (such as real estate listing information stored in an MLS listing database). Each stage
`in the process of delivering media from Rimfire partners to consumers is identified by the letters a-f in
`figure 1 above.
`For example, ABC Real Estate provides real estate listing services over the World Wide Web (WWW).
`The services ABC provides are available to regional real estate firms who want exposure on the web and,
`of course, to prospective home buyers. In both cases, access to ABC services is via a standard web
`browser. ABC has enlisted the services of the PictureWorks Rimfire system in order to accelerate the
`process of enhancing MLS listings with high-resolution images of homes currently on the market. As
`agents submit real estate listings to ABC for inclusion in the ABC web site, the media flow through the
`system as follows:
`§
`
`Images are sent to the Rimfire central server using an image Prepare & Post tool (a., also see figure 2
`below.)
`§ Service-specific filters are applied to the incoming images (b.)
`§ Filtered images are stored in the Rimfire master media database (c.)
`§ Based on client profiles associated with Rimfire partners, client-specific filters are applied to media
`items as they are delivered (or “mirrored”) to client sites (e.)
`§
`Images are forwarded via the web to client sites for processing and storage (d and e.)
`§ Consumers request information about MLS listings and receive web pages enhanced with high-
`resolution images stored in the client’s or Rimfire media repositories (f.)
`
`PWT Confidential
`
`revision 4
`
`April 12, 1999
`
`Exhibit 2010
`Google Inc. v. Summit 6 LLC
`IPR2015-00806, Summit 6 LLC
`
`
`
`Rimfire Version 1.0 Functional Specification
`
`
`
`Page 8
`
`
`While Rimfire tools will often be involved in the delivery of media at all stages described in figure 1,
`Rimfire components will not always participate in the presentation of media to consumers. The reason for
`this is that in many cases, industry providers already have standard mechanisms for including media in their
`web pages and only require efficient vehicles for media acquisition. Where specialized consumer delivery
`of media is needed, such as delivery using Macromedia Flash viewers or industry-standard video viewers,
`Rimfire tools for media integration into web pages and for consumer-side viewing will be made available.
`Conversely, some industry partners are likely to rely solely on the Rimfire master repository for storage
`rather than maintaining their own. In this case, Rimfire servers are used to integrate content directly from
`the master repository on request. Service variations used to customize and control storage, delivery and
`filtering of media are achieved on a partner-by-partner basis through modifications to a partner’s Service
`Link record and to related Service Link configuration information. This is described below.
`
`Services
`Clients subscribing to the Rimfire system use Rimfire Services. The idea behind a services-based system is
`that as the need for delivery of media evolves, clients will require different sets of functionality. By
`registering for services and service support, both PWT and subscribers will have the best means for
`monitoring system usage and overall cost accounting. All Rimfire services are named services, that is,
`services are requested by name, each named service being associated with a type of media processing. The
`service model allows PWT to partition the system according to client demand and thereby more effectively
`to ensure maximum performance and scalability.
`Version 1.0 of Rimfire supports both hosting and mirroring services. Hosting services are those which
`allow partners to submit media which will be processed and stored by the Rimfire servers. Hosted media
`are then accessed by Rimfire partners through a variety of means including direct URL reference and media
`servers. How hosted media are accessed depends on the processing and delivery requirements of the given
`media type. For example, standard image hosting allows partners to access stored media through an image
`URL (i.e., a SRC URL web element), while services supporting slide shows might be accessed via a URL
`or an installed client applet. As of this writing the following Rimfire services are supported:
`
`
`Named Service
`HOST
`MIRROR
`HOST-BaseSlideShow
`
`Usage
`Stores and serves media via a URL (currently only images)
`Distributes media to client affiliates (currently only images)
`Creates and servers animated slide shows using Macromedia
`generator
`
`The Control Service
`In addition to the named services mentioned above, each Rimfire Central server process supports the
`Control service. The control service is used to give appropriately authenticated external processes a way to
`communicate with and control a Rimfire server at runtime. For technical details see The Control Service in
`the Detailed Software Design section.
`
`Hosting and Mirroring Services
`All Rimfire services involve submitting media from a web browser to the Rimfire servers for further
`processing (e.g., filtering). Rimfire services differ though in how they are treated once received by the
`Rimfire servers. Thus all services fall within two general categories, hosting and mirroring. Hosting
`services are those that are used to process and store media on the Rimfire servers to be accessed remotely
`by Rimfire partners and their affiliates or customers. Mirroring services are those that are used to process
`media and then to forward them to customer affiliates.
`
`Hosting services can be thought of as Store and Access services while Mirroring services are Store and
`Forward services. These two different ways of handling media are independent of the type of media that is
`submitted. Images, video and sound, as well as variations on these media (such as slide shows with images
`and sound) can all be hosted or mirrored. The basis for choosing whether media should be hosted or
`
`PWT Confidential
`
`revision 4
`
`April 12, 1999
`
`Exhibit 2010
`Google Inc. v. Summit 6 LLC
`IPR2015-00806, Summit 6 LLC
`
`
`
`Rimfire Version 1.0 Functional Specification
`
`
`
`Page 9
`
`mirrored depends on partner requirements. For example, a partner providing auctioning services to their
`clients would most likely want to use Rimfire as a media hosting service, while a real estate partner would
`want to be able to mirror media (images, video, slide shows, etc.) to their regional offices or MLS centers.
`
`The following outlines the general flow of media using the HOST and MIRROR services as examples.
`
`HOST Service
`The Host service gives PWT partners a standard way to submit images (future versions will support other
`types of media such as video and sound) which can then be included in the partner’s web pages through an
`IMG SRC url reference. Image submission is accomplished using Prepare & Post tools available from a
`standard web browser (see section on Prepare & Post below.) The