Detailed Action
Notice of Pre-AIA or AIA status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Rejections – 35 U.S.C. § 101
35 U.S.C. § 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claim 20 is rejected under 35 U.S.C. § 101 because the claimed invention is directed to non-statutory subject matter. The claim(s) does/do not fall within at least one of the four categories of patent eligible subject matter because the broadest reasonable interpretation of a “storage medium” includes embodiments that are pure signals per se. It is acknowledged that paragraph 148 distinguishes between the concepts of “a machine-readable signal medium or a machine-readable storage medium,” but this does not overcome the plain meaning presumption of “storage medium” including signals per se, because paragraph 148 is very clear that its examples are “not limited” and only exemplary.
Signals do not fall into any of the four statutory categories enumerated in 35 U.S.C. § 101, and therefore, claim 20 is rejected under 35 U.S.C. § 101.
Claim Rejections – 35 U.S.C. § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. § 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale or otherwise available to the public before the effective filing date of the claimed invention.
Claims 1–4, 11–15, and 20 are rejected under 35 U.S.C. § 102(a)(1) as being anticipated by U.S. Patent Application Publication No. 2015/0058772 A1 (“Bartor”).
Claim 1
Bator discloses:
An object connection method, comprising:
“FIG. 4 is a flow diagram of an exemplary process 430.” Bator ¶ 76.
in response to a first trigger operation, acquiring a first action position and a second action position based on the first trigger operation, wherein the first action position is used to determine a first object to be connected;
“[A] user may select a particular connection port (402) from the menu, e.g., by hovering a pointer (e.g., a mouse pointer) over the name of or symbol for the connection port” of a first component, Bator ¶ 81, and click and drag it to the location of a second component in step 414, in order to create a connection between the particular connection port of a first component to a destination connection port of the second component. Bator ¶ 87.
determining a second object capable of establishing a connection to the first object,
“After the flow has been hovered for a predetermined amount of time (e.g., 1 to 2 seconds), or after the flow has been dropped on the second component, a menu listing some or all of the connection ports of the second component is displayed (416).” Bator ¶ 87. In particular, the menu may provide a list that is limited to “all of the ports that are available to receive the flow.” Bartor ¶ 87.
and creating a detection element corresponding to the second object, wherein the second object is in a detection region of the detection element, and an area of the detection region is greater than an area of the second object; and
“In some examples, a symbol may be displayed for each of the connection ports, such as the same symbol that is displayed on a component to indicate a connection port,” as well as “the name of each connection port.” Bartor ¶ 88. While the symbol is ultimately what will serve as the destination connection, the user interface is programmed to receive “the dragged flow over the symbol for or name of the target connection port.” Bartor ¶ 89. In other words, we are connecting to the symbol for the port (the second object), but the region encompassing both the port and the name are available as the drop target.
in response to the second action position being in the detection region, connecting the first object to the second object in the detection region in response to a second trigger operation.
“The user may drop the dragged flow over the symbol for or name of the target connection port (418), thus causing a connection to be generated (420) between the particular connection port of the first component and the target connection port of the second component.” Bartor ¶ 89. Note that while other parts of the Barton reference disclose displaying the target connection port directly on the component after making the connection, the claim language does not yet require the second object to remain in the detection region in response to a second trigger operation. The text of the claim merely uses “in the detection region” to further specify the identity of the second object, i.e., whichever second object was in the detection region, that’s the one that ultimately gets connected to the first object.
Claim 2
Bartor discloses the object connection method according to claim 1, wherein the creating the detection element corresponding to the second object comprises:
determining an object border parameter corresponding to the second object, generating, based on the object border parameter, a region border parameter for determining the detection region corresponding to the second object, and creating the detection element corresponding to the second object based on the region border parameter.
As shown in FIG. 5A, the region where the user may complete the dropping operation to link log port 506 as the destination port comprises a rectangular box that fully encompasses the text for log port 506. Bartor ¶ 90.
Claim 3
Bartor discloses the object connection method according to claim 1, wherein after the creating the detection element corresponding to the second object, the object connection method further comprises:
highlighting the detection region in response to a distance between the second action position and the detection region being less than or equal to a preset distance.
FIG. 5A discloses that the whole box for the menu item of log port 506 is highlighted in response to the cursor being within the line item for the log port in menu 510.
Claim 4
Bartor discloses the object connection method according to claim 1,
wherein after the connecting the first object to the second object in the detection region, the object connection method further comprises: deleting the detection element.
“Referring to FIG. 5B, when the flow 500 is dropped onto the name of the log port 506 on the menu 510, the menu 510 disappears and a log port 512 is displayed as part of the reformat component 508, with a connection 514 between the log port 512 and the write port 502.” Bartor ¶ 91.
Claim 11
Bartor discloses the object connection method according to claim 1,
wherein the first object and the second object are port identifiers of one or more graphic elements in a graphic editing tool.
“[A] user may select a particular connection port (402) from the menu, e.g., by hovering a pointer (e.g., a mouse pointer) over the name of or symbol for the connection port” of a first component, Bator ¶ 81, and click and drag it to the location of a second component in step 414, in order to create a connection between the particular connection port of a first component to a destination connection port of the second component. Bator ¶ 87.
Claims 12–15
Claims 12–15 recite an electronic device comprising general-purpose computer components that execute exactly the same method as recited in claims 1–4 as part of their normal operation. Bartor discloses each of the elements of the method for the reasons given in the rejections above, and further discloses the general-purpose computer components recited in claim 12 itself. See Bartor ¶¶ 44–46.
Claim 20
Claim 20 is a broader version of claim 12 that only requires the storage apparatus portion, with all of the same instructions stored thereon. Therefore, claim 20 is rejected over all of the findings and rationale provided in the rejection of claim 12 above.
Claim Rejections – 35 U.S.C. § 103
The following is a quotation of 35 U.S.C. § 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102 of this title, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned at the time any inventions covered therein were effectively filed absent any evidence to the contrary. Applicant is advised of the obligation under 37 C.F.R. § 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned at the time a later invention was effectively filed in order for the examiner to consider the applicability of 35 U.S.C. § 102(b)(2)(C) for any potential 35 U.S.C. § 102(a)(2) prior art against the later invention.
I. Bartor and Meier teach claims 5–8 and 17–19.
Claims 5–8 and 17–19 are rejected under 35 U.S.C. § 103 as being unpatentable over Bartor as applied to claims 1 and 12 above, and further in view of U.S. Patent No. 5,196,838 A (“Meier”).
Claim 5
Bartor teaches the object connection method according to claim 1,
wherein the first object and the second object are on a canvas, and at least a partial region of the canvas is displayed in a target window; and
The components and their respective ports are on a “dataflow graph 330,” which is within a “window.” Barton ¶ 70.
“The user may also pan the window.” Barton ¶ 70.
Barton thus differs from the invention of claim 5 in that the second action position, that is, the place where the user moves his mouse to effect an object drop, does not necessarily pan the window.
Meier, however, teaches:
at least a partial region of the canvas is displayed in a target window; and
While attempting to drag an item to a destination folder, a data display area 304 displays some, but not all, of the content. Meier col. 11 ll. 45–47.
after the acquiring the second action position, the object connection method further comprises: controlling movement of the canvas based on the second action position in response to the second action position being in a preset edge region of the target window.
“While the items are being dragged (and the switch is kept in the second position), scrolling is enabled by placing the cursor in one of the above described scroll areas of the visible display area 303 (illustrated in FIG. 3), step 607.” Meier col. 11 ll. 47–50. As shown in FIG. 4, the scroll areas are on the edges of the window 303.
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to improve the panning of Barton’s window with Meier’s known technique of using the edges of the window to trigger the panning. One would have been motivated to apply Meier’s known technique to Barton’s known user interface because other, more manual methods (including those described in Barton) “are cumbersome and unproductive,” and therefore “it is desirable to provide for scrolling in a window when item(s) have been selected and are being ‘dragged’ to a folder within the same window.” Meier col. 4 ll. 41–62.
Claim 6
Barton and Meier teach the object connection method according to claim 5,
wherein movement information of the canvas is associated with a distance between the second action position and a window border of the target window,
The scrolling may be triggered when the cursor is within a threshold distance “d” of one of the scroll areas. Meier col. 8 ll. 8–19.
and the movement information comprises at least one of a movement direction and a movement speed.
As shown in FIG. 7c, the movement direction is wholly based on the location of the scroll area where the cursor was dragged. See Meier col. 12 ll. 54–68 and 13 lines 1–16.
Claim 7
Barton and Meier teach the object connection method according to claim 6,
wherein the controlling movement of the canvas based on the second action position comprises: determining a target border based on a distance between the second action position and each window border of the target window, determining the movement direction of the canvas based on a direction corresponding to the target border, and controlling the canvas to move in the movement direction.
To invoke scrolling, the device determines when the cursor that is dragging the object is within a distance “d” from the left, right, top, or bottom edge of the window (e.g., 20 pixels), and then triggers scrolling in the direction that corresponds to the edge. Meier col. 8 ll. 7–33.
Claim 8
Barton and Meier teach the object connection method according to claim 7, wherein the determining the movement direction of the canvas based on the direction corresponding to the target border comprises at least one of:
(i) in response to that there is one target border, using the direction corresponding to the target border as the movement direction of the canvas;
To invoke scrolling, the device determines when the cursor that is dragging the object is within a distance “d” from the left, right, top, or bottom edge of the window (e.g., 20 pixels), and then triggers scrolling in the direction that corresponds to the edge. Meier col. 8 ll. 7–33.
(ii) in response to that there are a plurality of target borders, superimposing directions corresponding to the plurality of target borders to obtain the movement direction of the canvas.
“It should be noted that the corner intersections of each of the scroll areas may define scrolling in a diagonal direction when an item is selected and being dragged. The corner 418 will invoke scrolling in a top to bottom and left to right direction. The corner 419 will invoke scrolling in a top to bottom and right to left direction. The corner 405 (also the window re-size area) will invoke scrolling in a bottom to top and right to left direction. Finally, the corner 412 (also the left scroll arrow) will invoke scrolling in a bottom to top and left to right direction.” Meier col. 9 ll. 23–33.
Claims 17–19
Claims 17–19 are rejected over the same additional findings and rationale as provided above for claims 6–8.
II. Bartor and Belfiore teach claims 5, 9, and 10.
Claims 5, 9, and 10 are rejected under 35 U.S.C. § 103 as being unpatentable over Bartor as applied to claim 1 above, and further in view of U.S. Patent No. 5,611,060 A (“Belfiore”).
Claim 5
Bartor teaches the object connection method according to claim 1,
wherein the first object and the second object are on a canvas, and at least a partial region of the canvas is displayed in a target window; and
The components and their respective ports are on a “dataflow graph 330,” which is within a “window.” Barton ¶ 70.
“The user may also pan the window.” Barton ¶ 70.
Barton thus differs from the invention of claim 5 in that the second action position, that is, the place where the user moves his mouse to effect an object drop, does not necessarily pan the window.
Belfiore, however, teaches a method wherein:
the first object and the second object are on a canvas, and at least a partial region of the canvas is displayed in a target window;
“In FIG. 4B, the user is dragging the selected screen object 410 over the display area 206 of the window 202 to a destination that is out of view in the direction of the right arrow movement control.” Belfiore col. 5 ll. 24–30.
and after the acquiring the second action position, the object connection method further comprises: controlling movement of the canvas based on the second action position in response to the second action position being in a preset edge region of the target window.
“When the speed is below the predetermined threshold and the mouse indicator 412 is within the scroll region 208, the embodiment scrolls the contents 210 of the window 202. In this example, the contents 210 are scrolled to the left.” Belfiore col. 5 ll. 30–35.
Claim 9
Bartor and Belfiore teach the object connection method according to claim 5,
wherein the controlling movement of the canvas based on the second action position comprises:
“FIGS. 6A and 6B depict a flow chart of the steps performed by a function utilized in the preferred embodiment of the present invention. The function performs automatic scrolling of a window when the mouse indicator is positioned over the scroll region and the speed of the mouse, relative to the video display, is less than the predetermined threshold.” Belfiore col. 6 ll. 15–55.
determining a movement direction of the canvas based on the second action position,
“[T]he scroll region is divided into four portions: a right portion, a lower portion, a left portion, and an upper portion. Each portion corresponds to a side of the rectangular scroll region. Therefore, in this step, the function determines whether the mouse indicator is in the right, the lower, the left, or the upper portion of the scroll region and scrolls from the portion in which the mouse indicator is located toward the oppositely facing portion. One skilled in the art will appreciate that the scroll region can have many different portions and that the scrolling can be performed in additional directions. In determining the direction of the scroll, the function uses the most recently obtained mouse coordinates.” Belfiore col. 7 ll. 10–27.
and creating a timer in the movement direction, wherein the timer is used to send a trigger signal based on a preset frequency;
“The first step that the function performs is to set a timer to 100 milliseconds so that the function can be awakened periodically to perform processing (step 602).” Belfiore col. 6 ll. 15–55.
updating the second action position based on the trigger signal, and determining a movement speed and the movement direction of the canvas based on an updated second action position; and
“If, however, the mouse button remains depressed, the function waits until either receiving a mouse message or until the timer expires (step 608). After receiving a mouse move message or upon the timer expiring, the function retrieves the current time (step 610).” Belfiore col. 6 ll. 15–55. “The ‘time sample’ refers to a pair of values with one value being the current time and the other value being the mouse position at that time . . . . After storing the time sample, the function computes the speed of the mouse indicator (step 616),” as well as the direction. Belfiore col. 6 l. 47 to col. 7 l. 10.
in response to that the movement direction remains unchanged, controlling the canvas to move at the movement speed in the movement direction.
“If the time elapsed is greater than the scroll frequency, the function scrolls one unit (step 624).” Belfiore col. 7 ll. 42–48.
Claim 10
Bartor and Belfiore teach the object connection method according to claim 9, wherein after determining the movement speed and the movement direction of the canvas based on the updated second action position, the object connection method further comprises:
in response to that the movement direction changes, turning off the timer created in the movement direction before the change, and creating a timer in a movement direction after the change.
As shown in FIGS. 6A–6B, the operations discussed in the rejection of claim 9 are part of a loop. In a first iteration, while scrolling in a first direction, a timer is set to 100 ms in step 626. Upon the timer expiring at step 608, the function acquires updated mouse coordinates at step 612. When the updated coordinates reflect that the user has moved the pointer to a different edge of the scroll region, the function detects that the movement direction has changed, see step 620, and the process advances to step 626, where the function once again requests a new 100ms timer to drive subsequent scrolling in the new direction.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Justin R. Blaufeld whose telephone number is (571)272-4372. The examiner can normally be reached M-F 9:00am - 4:00pm ET.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, James K Trujillo can be reached at (571) 272-3677. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
Justin R. Blaufeld
Primary Examiner
Art Unit 2151
/Justin R. Blaufeld/Primary Examiner, Art Unit 2151