`(12) Patent Application Publication (10) Pub. No.: US 2006/0143684 A1
`
`Morris
`(43) Pub. Date:
`Jun. 29, 2006
`
`US 20060143684A1
`
`(54) METHOD AND SYSTEM FOR ALLOWING A
`USER TO SPECIFY ACTIONS THAT ARE TO
`BE AUTOMATICALLY PERFORMED ON
`DATA OBJECTS UPLOADED TO A SERVER
`
`(76)
`
`Inventor: Robert P- MOI‘I‘iS, Raleigh, NC (US)
`
`Correspondence Address:
`IPAC
`
`111 Corning Road
`Suite 220
`Cary, NC 27511 (US)
`
`(21) Appl. No.:
`
`11/027,214
`
`(22)
`
`Filed:
`
`Dec. 293 2004
`
`Publication Class1fication
`
`(51)
`
`Int. C1.
`(2006.01)
`H04N 7/16
`(2006.01)
`H04N 7/1 73
`(52) us. Cl.
`......................... 725/138; 725/135; 725/105;
`72 5/ 109
`
`(57)
`
`ABSTRACT
`
`A method and system are provided for allowing a user to
`specify actions that are to be automatically performed on
`data objects uploaded to a server. Aspects of the invention
`include maintaining on the server at least one user config-
`urable action list that contains one or more action items
`
`representing actions that can be taken with respect to at least
`
`one data object uploaded to the server from a client device,
`wherein each of the action items is associated with an
`executable software object on the network that performs the
`action;
`in response to the user accessing the server and
`initiating a task on the server with respect to the at least one
`data object; displaying at
`least one of the action items
`contained in the action list associated with the task to the
`user for selection of the action items therein; receiving by
`the server an ID of each of the action items selected by the
`user; and invoking the executable software object associated
`with the received action item ID for automatically perform-
`ing the action selected by the user on the at
`least one
`uploaded data object.
`
`Remote Action Server 190
`
`
`Client Device
`
`1 52
`
`
`
`
`
`
`
`
`
`
`Application I
`
`159
`
`Application I i
`
`Handler
`194
`
`Client
`
`
`
`Communication
`
`
`Browser
`Module
`Action Router
`
`160
`Web Sewer
`158
`
`
`
`192
`
`
`
`
`
` Action Web Application 166
`
`Action Recorder
`1 78
` _"ser Account I
`
`
`
`182
`
`IPR2017-02056, Petitioner Google Inc.
`
`Ex. 1010, p. 1
`
`IPR2017-02056, Petitioner Google Inc.
`Ex. 1010, p. 1
`
`
`
`Patent Application Publication Jun. 29, 2006 Sheet 1 of 7
`
`US 2006/0143684 A1
`
`158
`
`
`
`Remote Action Server 190
`
`Application
`Handler
`194
`
`Action Router
`Web Server
`192
`
`
`
`
`
`Client Device
`1 52
`Application I
`
`159
`
`
`Client
`
`Communication
`
`
`Browser
`Module
`160
`
`
`156
`
`164
`
`—I162
`
`168
`
`_.ll l.—
`
`Action Recorder ——=_I—| —.
`
`Action Web Application 166
`
`178 —I
`
`Action Handler
`170
`
`User Acc. DB
`172
`
`‘ C '0“
`Catalogs DB
`174
`
`Action Items
`175
`
`FIG.
`
`1
`
`IPR2017-02056, Petitioner Google Inc.
`
`Ex. 1010, p. 2
`
`IPR2017-02056, Petitioner Google Inc.
`Ex. 1010, p. 2
`
`
`
`Patent Application Publication Jun. 29, 2006 Sheet 2 of 7
`
`US 2006/0143684 A1
`
`
`
`
`
`Maintaining on the server user configurable
`action lists containing one or more action
`items representing actions that are can be taken
`with respect to the files uploaded to the server
`
`
`
`In response to the user accessing the server and
`initiating a particular task on the server with respect
`
`
`to at least one file, displaying at least one of the
`
`
`action items contained in the action list that is
`associated with the task to the user for selection
`
`
`250
`
`252
`
`Client device transmits and server receives
`
`IDs of the action items selected by the user
`
`Invoke the action handler associated
`
`with the received action item lD
`
`254
`
`256
`
`FIG. 2
`
`IPR2017-02056, Petitioner Google Inc.
`
`Ex. 1010, p. 3
`
`IPR2017-02056, Petitioner Google Inc.
`Ex. 1010, p. 3
`
`
`
`Patent Application Publication Jun. 29, 2006 Sheet 3 of 7
`
`US 2006/0143684 A1
`
`182
`
`
`
`ACTION LIST
`
`Print Images
`3x5 8X1 0
`
`
`
`4x6
`
`5X7
`
`
`
`
`
`
`
`Save in MyShoeBox
`Send to Mom
`
`FIG. 3
`
`IPR2017-02056, Petitioner Google Inc.
`
`Ex. 1010, p. 4
`
`IPR2017-02056, Petitioner Google Inc.
`Ex. 1010, p. 4
`
`
`
`Patent Application Publication Jun. 29, 2006 Sheet 4 0f 7
`
`US 2006/0143684 A1
`
`Device
`
`Server
`
`Determine .
`
`
`
`Request Page
`400
`
`
`
`Display Page with
`Actions
`410
`
`Process form
`
`input including
`Action selections
`412
`
`Submit form and
`Action item IDs
`414
`
`
`
`
`requesting User
`and Task of page
`402
`
`Retrieve User’s
`Action List for
`Context
`404
`
`Add Actions to
`
`Requested Page
`406
`
`Return requested
`page
`408
`
`Item IDs and file
`names/IDs
`416
`
` Receive Action
`
`
`
`
`
`Lookup and Invoke
`Action Handlers
`418
`
`
`
`
`Display page
`422
`
`
`
`
`
`
`Complete form
`
`processing and
`return next page
`420
`
`
`
`
`
`IPR2017-02056, Petitioner Google Inc.
`
`EX. 1010, p. 5
`
`IPR2017-02056, Petitioner Google Inc.
`Ex. 1010, p. 5
`
`
`
`Patent Application Publication Jun. 29, 2006 Sheet 5 of 7
`
`US 2006/0143684 A1
`
`300a
`
`306a
`302a/— 304a
`
`
`m Task ID
`
`Sm oorted Toes
`
`Reference to Hosted Executable
`
`308a
`
`FIG. 5A
`
`300b
`
`302b
`304b
`306b If 310
`
`
`
`
`IE Task ID
`
`Suuorted T es
`
`Action ID List
`
`312
`
`
`FIG. 5B
`
`3000
`
`304C /‘ 3060
`
`3026
`
`
`5 Task ID
`
`Su- orted Toes
`
`314
`
`
`
`URL to Remote Handler
`
`FIG. 5C
`
`IPR2017-02056, Petitioner Google Inc.
`
`Ex.1010,p.6
`
`IPR2017-02056, Petitioner Google Inc.
`Ex. 1010, p. 6
`
`
`
`Patent Application Publication Jun. 29, 2006 Sheet 6 of 7
`
`US 2006/0143684 A1
`
`Receive name for
`Action Item
`
`
`
`(Optional)
`Receive
`
`description
`
`Receivle Context
`D (s)
`
`500
`
`502
`
`504
`
`506
`
`t
`'
`Receive ype(s)
`
`508
`
`510
`
`
`Receive & Store
`
`Executable
`
` If Hosted
`
`Action
`
`51 6
`
`
`
`Create Action
`If Remote
`Receive URL or
`
`
`
`Item record with
`Action
`WSDL Definition
`
`
`reference to
`executable
`
`
` Create Action
`
`Item record URL
`Determine if
`
`or
`Sequence 0r Bag
`W DL
`De 1n1tion
`
`Receive ID’s of
`
`Selected Action
`Items
`'
`Create Act1on
`
`
`Item record
`
`
`
`Sequengcr: or Bag
`IDs
`
`
`512
`
`
`
`Store in User's
`
`Catalog
`
`
`
`526
`
`FIGURE 6
`
`IPR2017-02056, Petitioner Google Inc.
`
`Ex. 1010, p. 7
`
`IPR2017-02056, Petitioner Google Inc.
`Ex. 1010, p. 7
`
`
`
`Patent Application Publication Jun. 29, 2006 Sheet 7 of 7
`
`US 2006/0143684 A1
`
`550
`
`552
`
`554
`
`(Optional) Select
`Objects to be
`
`operated on
`
`Activate Action
`Recorder for
`
`Session
`
`Name Action Item
`
`(Optional)
`Receive
`
`description
`
`(Optional)
`Determine other
`
`compatible
`Contexts and
`
`Types
`
`Create Action
`Item record
`
`Sequence of
`Action IDs
`
`Detect Context
`
`556
`
`and Types 558
`
`
`Process User Input
`
`560
`
`Deactivate
`
`
`
`Recorder for
`
`Session
`
`
`If Stop
`Recording
`
`
`
`
`
`
`
`Track & stored
`resulting Actions
`
`performed
`
`570
`
`572
`
`562
`
`FIGURE 7
`
`IPR2017-02056, Petitioner Google Inc.
`
`Ex. 1010, p. 8
`
`IPR2017-02056, Petitioner Google Inc.
`Ex. 1010, p. 8
`
`
`
`US 2006/0143684 A1
`
`Jun. 29, 2006
`
`METHOD AND SYSTEM FOR ALLOWING A USER
`TO SPECIFY ACTIONS THAT ARE TO BE
`AUTOMATICALLY PERFORMED ON DATA
`OBJECTS UPLOADED TO A SERVER
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`
`[0001] The present invention is related to co-pending US.
`patent application Ser. No. 09/626,418 entitled “Method and
`System for Allowing a User to Select Actions to be Taken by
`a Server When Uploading the Images,” filed on Jul. 26,
`2000, and incorporated herein by reference; and co-pending
`US. patent application Ser. No. entitled “Method and Sys-
`tem for Allowing a User to Create Actions to be Taken by a
`Server,” filed on Dec. 29, 2004, and incorporated herein by
`reference.
`
`FIELD OF THE INVENTION
`
`[0002] The present invention relates to automatic process-
`ing of uploaded files, and more particularly to method and
`system for allowing a user to specify actions that are to be
`automatically performed on files uploaded from a client
`device to a server.
`
`BACKGROUND OF THE INVENTION
`
`[0003] As the popularity of digital cameras grows, the
`desire of digital camera users to share their images with
`others will also continue to grow. New digital camera
`owners typically try to share their images based on the
`paradigm of film cameras, in which images are printed on
`paper and then placed into a photo album. The most straight-
`forward approach to do this with a digital camera is to
`connect the digital camera directly to a printer to create the
`prints, and then manually insert the images into a photo
`album. Users often find this process somewhat complicated
`and restrictive because standard printers require particular
`types of paper and there is the need to constantly replace the
`ink cartridges. And even after the photo album has been
`assembled, the printed images are not easily shared with
`many people.
`
`[0004] The best approaches to photo-sharing take advan-
`tage of the Internet. One such approach is for users to store
`the digital images on a PC and then send the images to others
`using email. Several Internet companies now offer an even
`more convenient approach by providing photo-sharing web-
`sites that allow users to store their images for free and to
`arrange the images into web-based photo albums. Once
`posted on a photo-sharing website, others may view the
`images over the Internet.
`
`[0005] While it is convenient for storing digital images,
`getting the images to the photo-sharing websites and then
`manipulating the images can be challenging for users. Most
`commonly, users must upload their images from the digital
`camera to a PC or by inserting the camera’s flash card into
`the PC. From the PC, the user accesses the Internet, logs into
`a photo-sharing website and uploads the images. After
`uploading the images,
`the user works on the website to
`manually arrange the images into web albums, and add any
`textual information, and to send out invitations for others to
`view the web albums.
`
`Some attempts have been made to somewhat auto-
`[0006]
`mate this process. For example, US. patent application Ser.
`
`No. US 2002/0054224 issued to Wasula discloses a system
`that enables the customization of image organization and
`transfer of digital images from the digital camera to the host
`computer. The system includes a digital camera, a host
`computer (PC), and a network service provider. The digital
`camera includes a database having a plurality of customized
`profile tables. Each profile may indicate where the images
`are to be stored. Prior to capturing an image, a user selects
`one of the customized profiles in the database, and each
`image subsequently captured by the digital camera is then
`associated with the selected profile. In order to transfer
`images from the digital camera to the PC, a digital image
`transfer application program supplied with the digital cam-
`era must be installed on the PC. When the digital camera is
`then connected to the PC and the images are transferred to
`the PC,
`the profile table selected for the images is also
`transferred. The transfer application, which is used to com-
`municate and transfer the images, also performs the func-
`tions specified in the profile on the images, such as trans-
`ferring the images to the network server.
`
`[0007] Although the PC to camera approaches for storing
`images from a digital camera onto a web photo-sharing
`website works reasonably well, several problems exist. One
`problem is that this approach requires the use of a PC or
`notebook computer. While many digital camera users today
`have PC’s, there are many other consumers who would
`purchase a digital camera, but are reluctant to do so because
`they do not yet own a PC. In addition, PC-based systems,
`such as described in Wasula, have other disadvantages
`relating to how the user customizes what is to be done with
`the images, including:
`
`[0008] Being restricted to batch processing and thus are
`difficult
`to integrate with photo-sharing/organizing
`software.
`
`[0009] Functions in the profiles are static and do not
`provide a user with the ability to change the action or
`to select a different action.
`
`[0010] Different profiles for each external host makes
`action selection confusing for the user.
`[0011] The process of providing action selections to the
`user of the camera is done on the PC, rather than the
`camera.
`
`[0012] Recent camera communications advances have
`improved on the PC-based approach by providing digital
`cameras with the ability to communicate directly to a server.
`For example, US. Pat. No. 6,167,469 issued to Safai pro-
`vides client-server architecture where the digital camera
`executes client software, called a transport application, that
`enables a user to send pictures from the camera to external
`addresses
`(email). When the transport application is
`launched, a top-level view of the functions available in the
`transport application is displayed to the user. The functions
`include selecting address, choosing a photo, recording a
`voice message, and sending a photo. Safai requires execut-
`able client code on the camera that is specific to each action
`to fulfill each function. For example, when a mail function
`is selected, code on the camera sends selected photos and
`email addresses of the recipients to the server, and the server
`then forwards an email to the recipients.
`
`[0013] Although the client-server architecture of Safai
`may provide benefits over PC-based systems, such client-
`server approaches also have drawbacks including:
`
`IPR2017-02056, Petitioner Google Inc.
`
`Ex. 1010, p. 9
`
`IPR2017-02056, Petitioner Google Inc.
`Ex. 1010, p. 9
`
`
`
`US 2006/0143684 A1
`
`Jun. 29, 2006
`
`[0014] Requires function specific software to execute
`on both the client and the server.
`
`performed on files uploaded from a client device to a server
`in accordance with a preferred embodiment.
`
`[0015] The functions provided by the client application
`are hard-coded in the relationship between the client-
`side code and the server-side code, and are therefore
`fixed and implicit.
`
`[0016] Difficult to maintain and support due to issues of
`versioning, distribution, device compatibility, etc.
`
`[0017] Requires significant client device resources for
`storage and execution of the client software, even when
`not in use.
`
`[0018] The client software is not likely to be down-
`loaded on demand due to the size of client executable.
`
`is needed is an improved
`[0019] Accordingly, what
`method and system for allowing a user to specify actions that
`are to be performed on data objects, such as files uploaded
`to a server. The present invention addresses such a need.
`
`BRIEF SUMMARY OF THE INVENTION
`
`[0020] The present invention provides a method and sys-
`tem for allowing a user to specify actions that are to be
`automatically performed on data objects uploaded to a
`server. Aspects of the invention include maintaining on the
`server at least one user configurable action list that contains
`one or more action items representing actions that can be
`taken with respect to at least one data object uploaded to the
`server from a client device, wherein each of the action items
`is associated with an executable software object on the
`network that performs the action; in response to the user
`accessing the server and initiating a task on the server with
`respect to at least one data object, displaying at least one of
`the action items contained in the action list associated with
`the task to the user for selection of the action items therein;
`receiving by the server an ID of each of the action items
`selected by the user; and invoking the executable software
`object associated with the received action item ID for
`automatically performing the action selected by the user on
`the at least one data object.
`
`[0021] According to the method and system disclosed
`herein, the present invention reduces the amount of naviga-
`tion and key presses required on the client device to con-
`figure and invokes the actions, and minimizes the use of
`client resources for storage and processing the actions
`because all processing takes place on the server (or a remote
`server). In addition, the present invention allows the set of
`action items to be customized by the user based on the task
`being performed. Thus,
`the user may create customized
`action lists not only for the task uploading files, but also for
`tasks such as viewing, editing, organizing, and sharing files
`after the files have been uploaded to the server by the user
`invoking the task or another user.
`
`BRIEF DESCRIPTION OF SEVERAL VIEWS OF
`THE DRAWINGS
`
`[0022] FIG. 1 is a diagram illustrating a system for
`allowing a user to specify actions that are to be automatically
`performed on files uploaded from a client device to the
`server.
`
`[0023] FIG. 2 is a flow diagram illustrating the process for
`allowing a user to specify actions that are to be automatically
`
`[0024] FIG. 3 is a diagram illustrating an example action
`list 182 displayed on the screen of a camera phone.
`
`[0025] FIG. 4 is a flow diagram illustrating the processing
`of action list by the client and server in response to a user
`initiated task on the client device.
`
`[0026] FIGS. 5A-5C are diagrams illustrating formats for
`a predefined hosted action item, a recorded action item, and
`remote action item, respectively.
`
`[0027] FIG. 6 is a flow diagram illustrating the process for
`allowing a user to create one or more action items in a
`preferred embodiment of the present invention.
`
`[0028] FIG. 7 is a flow diagram of the process for allow-
`ing the user to create a recorded action in further detail in
`accordance with a preferred embodiment of the present
`invention.
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`invention relates to a method and
`[0029] The present
`system for allowing a user to specify actions to be performed
`on uploaded images by server. The following description is
`presented to enable one of ordinary skill in the art to make
`and use the invention and is provided in the context of a
`patent application and its requirements. Various modifica-
`tions to the preferred embodiments and the generic prin-
`ciples and features described herein will be readily apparent
`to those skilled in the art. Thus, the present invention is not
`intended to be limited to the embodiments shown, but is to
`be accorded the widest scope consistent with the principles
`and features described herein.
`
`[0030] A first aspect of the present invention provides a
`server-side architecture for allowing a user to specify actions
`that are to be automatically performed by a server on data
`objects, such as images, that have been uploaded from the
`user’ s client device. A second aspect of the present invention
`provides a method and system for allowing the user to create
`individual action items that may be automatically performed
`by the server on data objects accessible by the server,
`regardless of the objects’ origins.
`
`[0031] FIG. 1 is a diagram illustrating a system for
`allowing a user to specify actions that are to be automatically
`performed on data objects uploaded from a client device to
`the server. In accordance with a preferred embodiment, the
`system 150 is implemented as a server-side architecture that
`includes a client device 152 and server 154 that communi-
`cates over a network 156, such as the Internet. The server
`154 is preferably maintained by a service provider, such as
`an online photosharing site. Although the client device 152
`may be implemented as any computing device capable of a
`network connection (wired or wireless), such as a PC, in a
`preferred embodiment, the client device 152 is a wireless
`image capture device, such as a camera phone and the like.
`The client device 152 is equipped with a standard web
`browser 158 and a client communication module 160 that
`enables the client device 152 to communicate with the server
`
`154. Although the present invention will be described in
`terms of a preferred embodiment where the client device 152
`stores files that are uploaded to the server 154, the client
`
`IPR2017-02056, Petitioner Google Inc.
`
`Ex. 1010, p. 10
`
`IPR2017-02056, Petitioner Google Inc.
`Ex. 1010, p. 10
`
`
`
`US 2006/0143684 A1
`
`Jun. 29, 2006
`
`device 152 may store and upload to the server 154 any type
`of data or data objects, including files and database objects,
`for instance. The types of files that may be stored on the
`client device 152 are preferably image files, but may also
`include audio, text, and Video file types.
`
`[0032] The server 154 includes a standard web server 162
`for hosting and providing access to content and for respond-
`ing to requests received from web browsers 158. According
`to the preferred embodiment, the server 154 further includes
`means for maintaining and processing user configurable
`action lists (collectively 164), which includes an action Web
`application 166 for controlling processing of action items,
`one or more executable software objects called action han-
`dlers 170, an action router 168 for invoking the action
`handlers 170, and several databases. The databases may
`include a user account database 172 for storing user account
`information, a user file database 173 for storing files
`uploaded by the user, an action catalog database 174 for
`maintaining action item lists that are available for use and
`action item lists that are activated, and an action item
`database 176 for storing individual action items that are
`made available to users for inclusion in action lists created
`
`by users. The web application includes an action recorder
`module 178 for recording interactions with the user to create
`a custom action item, user accounts 180 that store the action
`preferences and settings of each user, the action lists 182 of
`each user, and catalogs 184 of the action lists of each user,
`as explained further below. In a preferred embodiment, the
`server 154 is maintained by an online photo sharing/hosting
`service that offers configurable actions to registered users as
`a service.
`
`[0033] FIG. 2 is a flow diagram illustrating the process for
`allowing a user to specify actions that are to be automatically
`performed on files uploaded from a client device to a server
`in accordance with a preferred embodiment. The process
`begins in step 250 by maintaining on the server 154 user
`configurable action lists 182 containing one or more action
`items representing actions that can be taken with respect to
`the files uploaded to the server 154. In a preferred embodi-
`ment, the action lists created by each user are task specific
`and are stored in the action catalog database 174. Each of the
`action items comprising the action lists are stored in the
`action item database 176 and are associated with an action
`handler 170. The action handlers 170 are executable soft-
`
`ware objects located on the network in the server 154 or a
`remote sever 190 that performs the specified action on the
`file. In an alternative embodiment a single action handler
`170 may be implemented to perform several actions on files,
`such that different action items map to that one action
`handler 170.
`
`[0034] Examples of actions and corresponding action
`items include sending the files to a specified recipient(s) as
`an email or to a specified location for storage, printing the
`files, and processing the files in some manner, for instance.
`[0035] FIG. 3 is a diagram illustrating an example action
`list 182 displayed on the screen of a camera phone. The
`action list 182 is specific to the task of uploading images and
`is
`shown displaying three major options; printing the
`uploaded images, saving the uploaded images in the user’s
`shoebox, and sending the images to Mom. Under the print-
`ing option, the user may select from various size prints.
`[0036] According to a further aspect of the preferred
`embodiment, each of the action lists 182 may be associated
`
`with a different task the user can perform on the files that are
`uploaded to the server 154. The most common tasks per-
`formed by the user may be to UPLOAD files, such as
`images, from the client device 152 to the server 154, and to
`VIEW the files once on the server. In a preferred embodi-
`ment, the files are uploaded from the client device 152 to the
`server 154 via the web browser 158. In an alternative
`
`embodiment, the files are uploaded via other applications
`159 (e.g., an image editing application).
`
`the user
`[0037] Besides UPLOADING and VIEWING,
`may perform other tasks on the files after they are uploaded
`to the server 154, such as EDITING, ORGANIZING, and
`SHARING files. In a further aspect of the present invention,
`the user may specify action lists 182 to be made available in
`each of these task contexts. For example, a user may indicate
`the actions “Rotate”, “Copy to Family Album”, “Copy to
`Friends Album”, “Send Prints to Mom”, etc be associated
`with the user’s UPLOAD task. When the user is uploading
`images either via a browser 158 or by an application 159,
`these actions are available to the user. Thus, the user may
`associate for each user task one or more action lists 182, and
`of the each action lists 182 may include one or more action
`items. The process of creating/configuring action lists is
`explained below.
`
`In step 252, in response to the user accessing the
`[0038]
`server 154, preferably via a web browser, and initiating a
`particular task on the server 154 with respect to at least one
`file that has been or is currently being uploaded to the server
`154, at least one of the action items contained in the action
`list associated with the task are displayed to the user for
`selection. The files that were previously uploaded may be
`the files provided by the user initiating the task, or files
`provided by a user other than the user initiating the task.
`
`In a preferred embodiment, the server 154 only
`[0039]
`downloads an identification (ID) of each of the action items
`in an action list to the client device 152 and optionally a text
`description or name of the action. The action items can be
`presented as a pop-up/down menu items to be selected on a
`page of a browser, and so forth. The action lists 182 may also
`be nested. For example, if the user selects the print option
`from one action list 182, another action list 182 may be
`displayed that allows the user to select from various size
`prints, with each action listed as a separate item, e.g., “Send
`4x8 prints”, “Send 5x7”.
`
`In step 254, after the user selects the action items,
`[0040]
`the server 154 receives the ID of the action items selected by
`the user, which were transmitted by the client device 152.
`For example, if the task being performed is a file upload,
`then both the selected files and the selected action IDs are
`transmitted from the client device 152 to the server 154. If
`the action is to EDIT files, then the names/IDs of the files to
`be edited along with the IDs of the selected action would be
`uploaded to the server 154.
`
`[0041] Each action ID is preferably transmitted as a single
`series of characters or numbers, such as name, number, or
`command, for instance,
`that
`is sufficient
`to identify the
`corresponding action handler 170 to the action router 168. In
`one embodiment, the ID of the action and the name of the
`action may be one in the same.
`
`[0042] According to one aspect of the present invention,
`because of the server-side architecture, neither the browser
`
`IPR2017-02056, Petitioner Google Inc.
`
`Ex.1010, p.11
`
`IPR2017-02056, Petitioner Google Inc.
`Ex. 1010, p. 11
`
`
`
`US 2006/0143684 A1
`
`Jun. 29, 2006
`
`184 or other applications 159 in the client device 152
`perform any preprocessing of the files in order to transmit
`the action item ID’s to the server 154. In addition, because
`only the IDs of the action items are required for transmis-
`sion, transmission bandwidth may be reduced.
`
`In step 418, the action router 168 looks up and invokes the
`action handlers 170 corresponding to the action IDs, which
`then perform the request actions on the identified files. In
`step 420, form processing is completed and the next page is
`returned to client device 152 for display in step 422.
`
`In step 256, the web server 162 receives the trans-
`[0043]
`mission from the client device 152 and passes it to the action
`router 168, which then uses the received action item ID to
`invoke the action handler 170 associated with the action
`
`item ID and the selected action is automatically performed
`on the uploaded files.
`
`[0044] An action item can be associated with a task such
`that the action item is executed either just before or after the
`completion of the task. Or an action item can be processed
`when it
`is selected independent of the task the user is
`engaged in. For example, Upload actions typically occur
`immediately after the image upload, although album cre-
`ation may be an exception. Tasks available while viewing
`are more typically immediate, such as “Send to Mom”. Note
`that all actions are associated with one or more types of files
`that they take as input. Actions are only made available to
`the user if the user is working with a file of a compatible
`type.
`
`[0045] FIG. 4 is a flow diagram illustrating the processing
`of action list 182 by the client device 152 and the server 154
`in response to a user initiated task on the client device 152.
`This process is independent of the type of data object the
`action is being performed on, e.g., images or text. In the
`preferred embodiment, where the user interacts with the
`service from the client device 152 via the browser 158, the
`process begins in step 400 when the user navigates to a
`particular page hosted by the server 154 and the browser 158
`submits a page request. In step 402, the request is received
`by the web server 162 and passed to the action Web
`application 166, which then determines the requesting user
`and the task being performed of the requested page. In step
`404, the action Web application 166 retrieves the user’s
`action list 182 associated with the task being performed. In
`step 406, the action Web application 166 inserts the IDs/
`names of the action items from the action list 182 to the
`
`requested page. In a preferred embodiment, this is accom-
`plished by inserting the IDs/names as links or form controls
`such as buttons, check boxes, etc., for allowing the user to
`select the actions desired. In step 408, the requested page
`with the action items is downloaded to client device 152. In
`
`the alternative embodiment where the user is accessing the
`server 154 through an application 159,
`the action item
`IDs/names would be returned to the requesting application
`159.
`
`[0046] After the requested page is received, in step 410,
`the browser 158 displays the page with the listed action
`items to the user. In step 412, the browser 158 processes the
`form inputs, including action item selections. In step 414,
`the form along with the IDs of the selected action items are
`submitted to the server 154. In addition, the names/ID of the
`files on which the action is to performed that are already on
`the server or are currently being uploaded are also submit-
`ted.
`
`the action Web application 166
`In step 416,
`[0047]
`receives the action IDs and file name/ID in the response sent
`from the client device 152 and passes the action IDs and data
`object identifiers (e.g., file names) to the action router 160.
`
`[0048] Action List and Action Item Creation
`
`[0049] Action lists are created by the user accessing a web
`page hosted on the server 154 that provides an option to
`“create an action list.” When this option is chosen, a web
`page of action items retrieved from catalogs 184 associated
`with the user’s account and generic action items from the
`action item database 176 may be displayed for user selec-
`tion. The user may also specify which task the action list is
`to be associated with. Action lists 182 created by a particular
`user may be stored in the user’s catalog 184 under the user’s
`account 180.
`
`In a preferred embodiment, the service provider
`[0050]
`provides a set of predefined hosted action items that are
`displayed from a menu, directory, etc.
`to the user when
`creating an action list. However, in a further aspect of the
`present invention, not only does the server 154 allow users
`to configure their own action lists 182, but also allows the
`users to create action items. Thus, the action items displayed
`from a menu, directory, etc. to the user when creating an
`action list may include predefined hosted action items that
`are provided by the service provider, and user created action
`items that are created by the user. In a preferred embodi-
`ment, the following type of action items may be created/
`provided: hosted action items (which include predefined and
`user-defined), recorded actions, and remote actions.
`[0051] FIG. 5A illustrates the format of a predefined or
`user defined hosted action item 300a. Predefined action
`
`items 300a are provided by the service provider, rather than
`created by the user. The predefined hosted action item 300a
`includes an ID/name field 302a for storing the action item
`ID, a task ID 304a or IDs for storing the ID of the task(s) the
`action item is associated with, a supported types field 306c
`for storing the file type(s) the action supports, and an action
`handler field 308 for storing a reference to the corresponding
`action handler 170. To allow users to create an action list, the
`service provides a set of web pages that allow users to find
`and navigate through the set of actions items 300a-c pro-
`vided by the service or other users. On