CA2511395A1 - Real-time inking - Google Patents

Real-time inking Download PDF

Info

Publication number
CA2511395A1
CA2511395A1 CA002511395A CA2511395A CA2511395A1 CA 2511395 A1 CA2511395 A1 CA 2511395A1 CA 002511395 A CA002511395 A CA 002511395A CA 2511395 A CA2511395 A CA 2511395A CA 2511395 A1 CA2511395 A1 CA 2511395A1
Authority
CA
Canada
Prior art keywords
plug
component
information
renderer
ink
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CA002511395A
Other languages
French (fr)
Other versions
CA2511395C (en
Inventor
Steve Dodge
Alexander J. Kolmykov-Zotov
Arin J. Goldberg
Brigette Krantz
Kyril Feldman
Manoj K. Biswas
Rudolph Balaz
Shenbagalakshmi Pichaiah
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of CA2511395A1 publication Critical patent/CA2511395A1/en
Application granted granted Critical
Publication of CA2511395C publication Critical patent/CA2511395C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1206Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/126Job scheduling, e.g. queuing, determine appropriate device
    • G06F3/1263Job scheduling, e.g. queuing, determine appropriate device based on job priority, e.g. re-arranging the order of jobs, e.g. the printing sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/142Image acquisition using hand-held instruments; Constructional details of the instruments
    • G06V30/1423Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting

Abstract

A system and process for ensuring the smooth flow of electronic ink is described. Dynamic rendering is give priority over other event handlers.
Priority may be the use of one or more queues to order when events occur and may be performing dynamic rendering prior to other steps.

Claims (101)

1. A renderer object for rendering ink comprising:
an interface for plugging in said object to a component that coordinates how ink is processed by objects.
2. The renderer object according to claim 1, wherein said component includes synchronous and asynchronous interfaces.
3. The renderer object according to claim 2, wherein said renderer object is connected to said synchronous interface of said component.
4. The renderer object according to claim 1, wherein said component is one of two components, wherein said renderer object is on a synchronous interface of said first of said two components, and said second component has at least one additional object associated with it.
5. The renderer object according to claim 1, further comprising:
a cache for temporarily storing data that has been rendered.
6. The renderer object according to claim 1, wherein said component includes input and output queues.
7. The renderer object according to claim 6, wherein said component has been additional queue associated with a synchronous interface.
8. The renderer object according to claim 1, wherein said renderer object is part of a synchronous plug-in collection.
9. The renderer object according to claim 1, wherein said renderer object is part of a synchronous plug-in chain.
10. The renderer object according to claim 1, wherein said data originated with a tablet.
11. The renderer object according to claim 1, said renderer object including an interface that allows said renderer object to be chained with other objects.
12. A computing system comprising:
a storage;

a processor transferring data with said storage, said processor hosting a renderer object for rendering ink, said renderer object comprising:
an interface for plugging in said object to a component that coordinates how ink is processed by objects.
13. A method for dynamically rendering ink using a rendering object, said rendering object having an interface, said method comprising the steps of:
receiving ink from a component that orders how data is handled, said ink being received over said interface which is attached to a synchronous interface on the component; and rendering said ink.
14. The method of according to claim 13, further comprising the steps of:
temporarily caching said rendered ink.
15. The method of according to claim 14, further comprising the steps of:
receiving a notification; and clearing said cash of said rendered ink in response to said notification.
16. The method of according to claim 13, wherein said rendering step provides a user with the appearance of uninterrupted ink flowing from a stylus.
17. The method of according to claim 13, wherein said rendering object is part of 80 synchronous plug-in collection attached to said component.
18. The method of according to claim 13, further comprising the step of:
passing data to another object connected to said rendering object.
19. A computer-readable medium having a program stored thereon, said program for dynamically rendering ink using a rendering object, said rendering object having an interface, said program comprising the steps of:
receiving ink from a component that orders how data is handled, said ink being received over said interface which is attached to a synchronous interface on the component; and rendering said ink.
20. The computer-readable medium of according to claim 19, said program further comprising the steps of:
temporarily caching said rendered ink.
21. The computer-readable medium of according to claim 20, said program further comprising the steps of:
receiving a notification; and clearing said cash of said rendered role in response to said notification.
22. The computer-readable medium of according to claim 19, wherein said rendering step provides a user with the appearance of uninterrupted ink flowing from a stylus.
23. The computer-readable medium of according to claim 19, wherein said rendering object is part ofa synchronous plug-in collection attached to said component.
24. The computer-readable medium of according to claim 19, said program further comprising the step of:
passing data to another object connected to said rendering object.
25. A computer-readable medium having a program relating to a renderer object, said renderer object comprising:
functional code for rendering received data;
an interface for connecting said renderer object to a component that organizes the processing of said data;
wherein said renderer object is selected from two or more renderer objects and attached to said component at a synchronous interface.
26. The computer-readable medium according to claim 25, wherein said renderer object renders ink such that said ink appears as translucent, water-based paint.
27. The computer-readable medium according to claim 25, wherein said renderer object renders ink such that said ink appears as created by a charcoal stylus.
28. The computer-readable medium according to claim 25, wherein said renderer object renders ink such that said ink appears as moving ink.
29. A method of attaching a custom renderer to a component, said component having at least two interfaces for attaching plug-in objects, said method comprising the steps of:
providing a custom renderer;
attaching said custom renderer to a synchronous interface of said component, said component ordering the processing of data related to ink.
30. The method according to claim 29, further comprising the step of:

attaching another object to said component in a collection including said custom renderer.
31. The method according to claim 29, further comprising the step of:
chaining another object to said custom renderer so that data handled by said custom renderer is next passed to said another object.
32. The method according to claim 29, said component including an attachment to a system-provided dynamic renderer, said method further comprising the step of:
unattaching said a system-provided dynamic renderer from said component.
33. The method according to claim 29, said component including an attachment to a system-provided dynamic renderer, said method further comprising the step of:
attaching said a system-provided dynamic renderer to said synchronous interface of said component.
34. A method for attaching objects to a component, said component having a synchronous interface and an asynchronous interface, said method comprising the steps of:
determining whether a plug-in object needs to be handled synchronously with received input or whether said plug-in object can be processed at a later time;
attaching said plug-in to one of a synchronous interface or an asynchronous interface based on the determination step.
35. The method according to claim 34, further comprising the step of:
determining a processing speed of a computer running said component, wherein said attaching step is also based on said determining a processing speed step.
36. The method according to claim 34, wherein at least one rendering plug-in object is attached to said synchronous interface.
37. The method according to claim 34, wherein time-critical plug-in objects are attached to said synchronous interface and non-time-critical plug-in objects are attached to said asynchronous interface.
38. A system for attaching objects to a component, said component having a synchronous interface and an asynchronous interface, said system comprising:
means for determining whether a plug-in object needs to be handled synchronously with received input or whether said plug-in object can be processed at a later time;

means for attaching said plug-in to one of a synchronous interface or an asynchronous interface based on the determination step.
39. The system according to claim 38, further comprising:
determining a processing speed of a computer running said component, wherein said attaching step is also based on said determining a processing speed step.
40. The method according to claim 38, wherein at least one rendering plug-in object is attached to said synchronous interface.
41. The method according to claim 38, wherein time-critical plug-in objects are attached to said synchronous interface and non-time-critical plug-in objects are attached to said asynchronous interface.
42. A system for rendering information comprising:
a processor hosting a component that receives ink information, a dynamic renderer that renders said it received ink information, said dynamic renderer including a temporary storage, and a static renderer that renders said received ink information, said a static renderer notifying said dynamic renderer to release said temporary storage relating to said received ink information.
43. The system according to claim 42, wherein said role information is generated by a stylus.
44. A method for rendering information comprising the steps of:
receiving ink information;
rendering said received ink information in a dynamic renderer object;
storing said received ink information in a temporary storage associated with said dynamic renderer object;
rendering said received ink information in a static renderer object;
notifying said dynamic renderer object to erase said received ink information in said temporary storage.
45. A system for processing information comprising:
a storage;
a processor exchanging information with said a storage, said processor hosting a component, said component comprising:

a synchronous interface to which a first plug-in object is attached, said first plug-in object processing information received by said component synchronously with the receipt of said information by said component; and an asynchronous interface to which a second plug-in object is attached, said second plug-in object processing information received by said component asynchronously with the receipt of said information by said component.
46. The system according to claim 45, wherein said information processed by said second plug-in object is the same information processed by said first plug-in object.
47. The system according to claim 45, wherein said information processed by said second plug-in object is different from the information processed by said first plug-in object, where said first plug-in object modified the information to be later processed by said second plug-in object.
48. The system according to claim 45, said component further including an output queue, said output queue receiving information having been processed by said first plug-in object.
49. The system according to claim 45, said component further including an input queue, said input queue receiving information generated by said first plug-in object to be processed by said first plug-in object.
50. The system according to claim 45, wherein at least one of said first plug-in object and said second plug-in object form part of a list attached to said component.
51. The system according to claim 45, wherein at least one of said first plug-in object and said second plug-in object form part of a chain attached to said component.
52. The system according to claim 45, wherein at least one of said first plug-in object and said second plug-in object is a gesture recognizer object.
53. The system according to claim 45, wherein said second plug-in object is an ink collector object that collects and renders ink.
54. The system according to claim 45, further comprising:
a dynamic renderer as said first plug-in object, said dynamic renderer including a storage for temporarily storing ink strokes received by said component.
55. The system according to claim 54, wherein said ink in temporary storage is deleted after receiving an instruction from said second plug-in object.
56. The system according to claim 54, wherein said ink in temporary storage is deleted after receiving an instruction from said second plug-in object and said second plug-in object having rendered said ink.
57. A system for processing information comprising:
a storage;
a processor exchanging information with said a storage, said processor hosting a component, said component comprising:
a first interface to which a first plug-in object is attached, said first plug-in object processing information received by said component synchronously with the receipt of said information by said component;
a second interface to which a second plug-in object is attached, said second plug-in object processing information having been processed by said first plug-in object; and a third interface to which a third plug-in object is attached, said third plug-in object processing information having been processed by said second plug-in object.
58. The system according to claim 57, wherein said second plug-in object and said third plug-in object process information asynchronously with regards to information received by said component.
59. The system according to claim 57, wherein at least one of said first plug-in object and said second plug-in object form part of a list attached to said component.
60. The system according to claim 57, wherein at least one of said first plug-in object and said second plug-in object form part of a chain attached to said component.
61. A system for processing information comprising:
a storage;
a processor exchanging information with said a storage, said processor hosting a first component and a second component, said first component comprising:
a synchronous interface to which a first plug-in object is attached, said first plug-in object processing information received by said first component synchronously with the receipt of said information by said first component;
an asynchronous interface to which said second component is attached, said second component including a synchronous interface to which a second plug-in object is attached and an asynchronous interface to which a third plug-in object is attached.
62. The system according to claim 61, wherein said first plug-in object is a dynamic renderer object.
63. The system according to claim 61, wherein said third plug-in object is an ink collection object.
64. The system according to claim 61, wherein at least one of said first plug-in object and said second plug-in object form part of a list attached to said component.
65. The system according to claim 61, wherein at least one of said first plug-in object and said second plug-in object form part of a chain attached to said component.
66. A method of communicating between a component and plug-in objects comprising the steps of:
receiving a data packet at said component;
placing said data packet at a location;
notifying a list of plug-in objects to the existence of said data packet;
processing said data packet through said list of plug-in objects. and
67. A method of relating plug-in objects to a component comprising the steps of:
forming a list that may contain a reference to plug-in objects;
attaching said list to an interface of said component;
populating said list with references to at least one plug-in object, wherein data may be processed by said plug-in objects according to the order of said plug-in objects in said list.
68. A method of relating plug-in objects to a component comprising the steps of:
attaching a first plug-in object to an interface on said component; and attaching a second plug-in object to an interface on said first plug-in object to form a chain linking said component, said first plug-in object, and said second plug-in object, wherein data may be processed by said plug-in objects according to the order of said plug-in objects in said chain.
69. A system for rendering information comprising:
a storage;
a processor exchanging information with said storage, said processor hosting a component, said component comprising:
a rendering system that renders said information; and a first queue receiving and temporarily storing information rendered by said component, said first queue being accessed by another component to retrieve said temporarily stored information, wherein said temporarily stored information may be later processed by said another component.
70. The system according to claim 69, wherein said information includes electronic ink.
71. The system according to claim 69, wherein said information includes modifications to electronic ink.
72. The system according to claim 69, wherein said rendering system is a plug-in object, capable of being removably attached to said component.
73. The system according to claim 69, wherein said information includes a first packet received at a first time and a second packet received at a later time and wherein said processor places said first packet in said queue ahead of said second packet to maintain a proper synchronization of the processing of said first packet and said second packet.
74. The system according to claim 69, wherein said information includes a first packet received at a first time and a second packet received at a later time and wherein said processor places said first packet in said queue behind said second packet to maintain a proper synchronization of the processing of said first packet and said second packet.
75. A method for rendering information comprising the steps of:
rendering received information;
temporarily storing said rendered information in a first queue;
accessing said first queue to retrieve said temporarily stored information;
and processing said temporarily stored information.
76. The method of according to claim 75, wherein said rendering step is performed by a first component.
77. The method of according to claim 75, wherein said processing step is performed by a second component.
78. The method of according to claim 75, wherein said received information includes a first packet received at a first time and a second packet received at a later time, said temporarily storing step further comprising the step of:

placing said first packet in said first queue ahead of said second packet to maintain a proper synchronization of the processing of said first packet and said second packet.
79. The method of according to claim 75, wherein said received information includes a first packet received at a first time and a second packet received at a later time, said temporarily storing step further comprising the step of:
placing said first packet in said first queue behind said second packet to maintain a proper synchronization of the processing of said first packet and said second packet.
80. A method for modifying display attributes for displayable information, said displayable information being rendered by a first renderer object and by a second renderer object, said method comprising the steps of:
receiving display attributes modification information at a component;
processing said display attributes modification information;
applying said display attributes modification information.
81. The method according to claim 80, wherein said display attributes modification information is received after said displayable information is rendered by said first renderer object and before said displayable information is rendered by said second renderer object and wherein said applying step applies a display attribute modification related to said display attributes modification information to said displayable information.
82. The method according to claim 80, wherein said display attributes modification information is received after said displayable information is rendered by said first renderer object and before said displayable information is rendered by said second renderer object and wherein said applying step delays the application of a display attribute modification related to said display attributes modification information until after said displayable information has been rendered by said second renderer object.
83. The method according to claim 80, further comprising the step of:
delaying said applying step until a new pen or cursor down event is received at said component.
84. A computing system for modifying display attributes for displayable information, said system comprising:
a processor hosting a component, a first renderer object and a second renderer object, wherein said processor receives display attributes modification information, processes said display attributes modification information, and applies said display attributes modification information to said displayable information rendered by said second renderer object.
85. The computing system according to claim 84, wherein said display attributes modification information is received after said displayable information is rendered by said first renderer object and before said displayable information is rendered by said second renderer object and wherein said applying step applies a display attribute modification related to said display attributes modification information to said displayable information.
86. The computing system according to claim 84, wherein said display attributes modification information is received after said displayable information is rendered by said first renderer object and before said displayable information is rendered by said second renderer object and wherein said applying step delays the application of a display attribute modification related to said display attributes modification information until after said displayable information has been rendered by said second renderer object.
87. The computing system according to claim 84, wherein said processor delays applying said display attributes modification information until a new pen or cursor down event is received at said component.
88. A system for processing information comprising:
a storage;
a processor exchanging information with said a storage, said processor hosting a first component and a second component, said first component comprising:
a synchronous interface to which a first plug-in object is attached, said first plug-in object processing information received by said first component synchronously with the receipt of said information by said first component;
an output queue receiving information from said first component; and an asynchronous interface to which said second component is attached, said second component accessing information in said output queue; and said second component including a synchronous interface to which a second plug-in object is attached and an asynchronous interface to which a third plug-in object is attached.
89. The system according to claim 88, wherein said first plug-in object is a dynamic renderer object.
90. The system according to claim 88, wherein said third plug-in object is an ink collection object.
91. The system according to claim 88, wherein at least one of said first plug-in object and said second plug-in object form part of a list attached to said component.
92. The system according to claim 88, wherein at least one of said first plug-in object and said second plug-in object form part of a chain attached to said component.
93. The system according to claim 88, wherein said synchronous interface of second component allows said second plug-in object to access information in said output queue.
94. The system according to claim 88, said second component further comprising:
an input queue that temporarily stores information received over said asynchronous interface from said first component, said input queue being accessed by said synchronous interface of said second component.
95. A computing system that orders events from a keyboard, mouse, and stylus comprising:
a storage;
a processor exchanging information with said storage, said processor hosting a pen services component, said pen services receiving information from said mouse and said stylus, ordering said information, and forwarding information related to electronic ink to a pen input manager.
96. The computing system according to claim 95, wherein said pen input manager includes an unmanaged portion and a managed portion.
97. A system for managing the memory capable of handling electronic ink comprising:
a storage;
a processor exchanging information with said storage, said processor including a component for handling electronic ink, said component having an unmanaged section and a managed code section with said unmanaged section and said managed section sharing a common memory.
98. A system for managing the memory capable of handling electronic ink comprising:
a storage;
a processor exchanging information with said storage, said processor hosting plug-in objects, said plug-in objects having both managed and unmanaged code and sharing a common memory between said managed code and said unmanaged code.
99. A system for handing error notifications comprising:
a storage;
a processor exchanging information with said storage, said processor hosting a component with plug-in objects, wherein, when an exception in the processing of information by said plug-in objects occurs, said plug-in objects create a data packet that is forwarded to other plug-in objects to alert them to the exception.
100. The system according to claim 99, wherein said data packet is forwarded to an input queue which is then accessed by said plug-in objects on at least one of a synchronous thread and an asynchronous thread.
101. The system according to claim 99, wherein said data packet is forwarded to an output queue which is then accessed by said plug-in objects on an asynchronous thread.
CA2511395A 2003-10-24 2004-07-28 Real-time inking Expired - Fee Related CA2511395C (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US51359103P 2003-10-24 2003-10-24
US60/513,591 2003-10-24
US10/879,527 US7436535B2 (en) 2003-10-24 2004-06-30 Real-time inking
US10/879,527 2004-06-30
PCT/US2004/024194 WO2005045574A2 (en) 2003-10-24 2004-07-28 Real-time inking

Publications (2)

Publication Number Publication Date
CA2511395A1 true CA2511395A1 (en) 2005-05-19
CA2511395C CA2511395C (en) 2012-04-24

Family

ID=34526880

Family Applications (1)

Application Number Title Priority Date Filing Date
CA2511395A Expired - Fee Related CA2511395C (en) 2003-10-24 2004-07-28 Real-time inking

Country Status (13)

Country Link
US (17) US7436535B2 (en)
EP (1) EP1676185A4 (en)
JP (1) JP4698599B2 (en)
KR (1) KR101085730B1 (en)
CN (1) CN1795453B (en)
AU (1) AU2004287136B2 (en)
BR (1) BRPI0406514A (en)
CA (1) CA2511395C (en)
MX (1) MXPA05007085A (en)
MY (1) MY139593A (en)
RU (1) RU2392655C2 (en)
TW (1) TWI374368B (en)
WO (1) WO2005045574A2 (en)

Families Citing this family (118)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
US7262785B2 (en) * 2003-08-21 2007-08-28 Microsoft Corporation Ink editing architecture
WO2005031594A1 (en) * 2003-08-21 2005-04-07 Microsoft Corporation Ink collection and rendering
US7436535B2 (en) * 2003-10-24 2008-10-14 Microsoft Corporation Real-time inking
US7427984B2 (en) * 2003-10-26 2008-09-23 Microsoft Corporation Point erasing
US7978716B2 (en) 2003-11-24 2011-07-12 Citrix Systems, Inc. Systems and methods for providing a VPN solution
US8060743B2 (en) * 2003-11-14 2011-11-15 Certicom Corp. Cryptographic method and apparatus
US8739274B2 (en) 2004-06-30 2014-05-27 Citrix Systems, Inc. Method and device for performing integrated caching in a data communication network
US7757074B2 (en) 2004-06-30 2010-07-13 Citrix Application Networking, Llc System and method for establishing a virtual private network
US8495305B2 (en) 2004-06-30 2013-07-23 Citrix Systems, Inc. Method and device for performing caching of dynamically generated objects in a data communication network
EP1771998B1 (en) 2004-07-23 2015-04-15 Citrix Systems, Inc. Systems and methods for optimizing communications between network nodes
EP1771979B1 (en) 2004-07-23 2011-11-23 Citrix Systems, Inc. A method and systems for securing remote access to private networks
US7761814B2 (en) * 2004-09-13 2010-07-20 Microsoft Corporation Flick gesture
US8954595B2 (en) 2004-12-30 2015-02-10 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP buffering
US8700695B2 (en) 2004-12-30 2014-04-15 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP pooling
US8549149B2 (en) * 2004-12-30 2013-10-01 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing
US7810089B2 (en) 2004-12-30 2010-10-05 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
US8706877B2 (en) 2004-12-30 2014-04-22 Citrix Systems, Inc. Systems and methods for providing client-side dynamic redirection to bypass an intermediary
US8255456B2 (en) 2005-12-30 2012-08-28 Citrix Systems, Inc. System and method for performing flash caching of dynamically generated objects in a data communication network
US7598942B2 (en) 2005-02-08 2009-10-06 Oblong Industries, Inc. System and method for gesture based control system
US8656268B2 (en) 2005-07-01 2014-02-18 Microsoft Corporation Queueing events in an interactive media environment
US8799757B2 (en) * 2005-07-01 2014-08-05 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US8305398B2 (en) 2005-07-01 2012-11-06 Microsoft Corporation Rendering and compositing multiple applications in an interactive media environment
US20070006062A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US8108787B2 (en) * 2005-07-01 2012-01-31 Microsoft Corporation Distributing input events to multiple applications in an interactive media environment
US8020084B2 (en) 2005-07-01 2011-09-13 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US7941522B2 (en) * 2005-07-01 2011-05-10 Microsoft Corporation Application security in an interactive media environment
US7721308B2 (en) 2005-07-01 2010-05-18 Microsoft Corproation Synchronization aspects of interactive multimedia presentation management
CA2632235A1 (en) * 2005-12-02 2007-06-07 Citrix Systems, Inc. Method and apparatus for providing authentication credentials from a proxy server to a virtualized computing environment to access a remote resource
US8301839B2 (en) 2005-12-30 2012-10-30 Citrix Systems, Inc. System and method for performing granular invalidation of cached dynamically generated objects in a data communication network
US7921184B2 (en) 2005-12-30 2011-04-05 Citrix Systems, Inc. System and method for performing flash crowd caching of dynamically generated objects in a data communication network
US7378966B2 (en) * 2006-01-04 2008-05-27 Microsoft Corporation RFID device groups
US7486282B2 (en) * 2006-01-27 2009-02-03 Microsoft Corporation Size variant pressure eraser
US9910497B2 (en) 2006-02-08 2018-03-06 Oblong Industries, Inc. Gestural control of autonomous and semi-autonomous systems
US8531396B2 (en) 2006-02-08 2013-09-10 Oblong Industries, Inc. Control system for navigating a principal dimension of a data space
US8370383B2 (en) 2006-02-08 2013-02-05 Oblong Industries, Inc. Multi-process interactive systems and methods
US9823747B2 (en) 2006-02-08 2017-11-21 Oblong Industries, Inc. Spatial, multi-modal control device for use with spatial operating system
US8537111B2 (en) 2006-02-08 2013-09-17 Oblong Industries, Inc. Control system for navigating a principal dimension of a data space
US8207822B2 (en) * 2006-06-15 2012-06-26 Microsoft Corporation Support for batching of events, and shredding of batched events in the RFID infrastructure platform
US7956724B2 (en) * 2006-06-15 2011-06-07 Microsoft Corporation Support for reliable end to end messaging of tags in an RFID infrastructure
US20080001711A1 (en) * 2006-06-15 2008-01-03 Microsoft Corporation Reliability of execution for device provider implementations
US7903094B2 (en) * 2006-06-23 2011-03-08 Wacom Co., Ltd Information processing apparatus, operation input method, and sensing device
US20080174404A1 (en) * 2007-01-23 2008-07-24 Microsoft Corporation Dynamic updates in rfid manager
US8245219B2 (en) * 2007-01-25 2012-08-14 Microsoft Corporation Standardized mechanism for firmware upgrades of RFID devices
JP4866262B2 (en) * 2007-02-16 2012-02-01 ソフトバンクモバイル株式会社 Operation input processing method and portable information processing apparatus
EP2150893A4 (en) 2007-04-24 2012-08-22 Oblong Ind Inc Proteins, pools, and slawx in processing environments
US20080271007A1 (en) * 2007-04-30 2008-10-30 Bea Systems, Inc. System and method for managed tuxedo wrapper for .net applications
US20080313607A1 (en) * 2007-06-15 2008-12-18 Microsoft Corporation Unified input stack
US20090027398A1 (en) * 2007-07-26 2009-01-29 Tufts University Method for recognizing a shape from a path of a digitizing device
US8291393B2 (en) * 2007-08-20 2012-10-16 International Business Machines Corporation Just-in-time compiler support for interruptible code
US20090144752A1 (en) * 2007-11-30 2009-06-04 Microsoft Corporation Unmanaged-to-managed aggregation
US20090157848A1 (en) * 2007-12-18 2009-06-18 Western Digital Technologies, Inc. Application server processing tcp/ip requests from a client by invoking an asynchronous function
US8245145B1 (en) * 2007-12-18 2012-08-14 Eakin Douglas M Tool and method for developing a web page
EP2293192B1 (en) 2008-01-27 2021-03-31 Citrix Systems, Inc. Methods and systems for remoting three dimensional graphics
US8390579B2 (en) * 2008-03-14 2013-03-05 France Telecom System for classifying gestures
US9684380B2 (en) 2009-04-02 2017-06-20 Oblong Industries, Inc. Operating environment with gestural control and multiple client devices, displays, and users
US9740293B2 (en) 2009-04-02 2017-08-22 Oblong Industries, Inc. Operating environment with gestural control and multiple client devices, displays, and users
US9952673B2 (en) 2009-04-02 2018-04-24 Oblong Industries, Inc. Operating environment comprising multiple client devices, multiple displays, multiple users, and gestural control
US8723795B2 (en) 2008-04-24 2014-05-13 Oblong Industries, Inc. Detecting, representing, and interpreting three-space input: gestural continuum subsuming freespace, proximal, and surface-contact modes
US9740922B2 (en) 2008-04-24 2017-08-22 Oblong Industries, Inc. Adaptive tracking system for spatial input devices
US9495013B2 (en) 2008-04-24 2016-11-15 Oblong Industries, Inc. Multi-modal gestural interface
US10642364B2 (en) 2009-04-02 2020-05-05 Oblong Industries, Inc. Processing tracking and recognition data in gestural recognition systems
EP2164026A1 (en) * 2008-09-15 2010-03-17 Alcatel, Lucent Gesture service platform
WO2010045394A1 (en) * 2008-10-14 2010-04-22 Oblong Industries, Inc. Multi-process interactive systems and methods
US8149431B2 (en) * 2008-11-07 2012-04-03 Citrix Systems, Inc. Systems and methods for managing printer settings in a networked computing environment
US20100131556A1 (en) * 2008-11-25 2010-05-27 Microsoft Corporation Unified event programming and queries
US20100131921A1 (en) * 2008-11-25 2010-05-27 Microsoft Corporation Exposing asynchronous mechanisms as first-class events
US20100131745A1 (en) * 2008-11-25 2010-05-27 Microsoft Corporation Exceptional events
US20100131743A1 (en) * 2008-11-25 2010-05-27 Microsoft Corporation Lazy and stateless events
US10019081B2 (en) * 2009-01-15 2018-07-10 International Business Machines Corporation Functionality switching in pointer input devices
US9317128B2 (en) 2009-04-02 2016-04-19 Oblong Industries, Inc. Remote devices used in a markerless installation of a spatial operating environment incorporating gestural control
US10824238B2 (en) 2009-04-02 2020-11-03 Oblong Industries, Inc. Operating environment with gestural control and multiple client devices, displays, and users
US20110029904A1 (en) * 2009-07-30 2011-02-03 Adam Miles Smith Behavior and Appearance of Touch-Optimized User Interface Elements for Controlling Computer Function
US8751844B2 (en) * 2009-09-24 2014-06-10 Citrix Systems, Inc. Systems and methods for attributing an amount of power consumption to a workload
US9933852B2 (en) 2009-10-14 2018-04-03 Oblong Industries, Inc. Multi-process interactive systems and methods
US9971807B2 (en) 2009-10-14 2018-05-15 Oblong Industries, Inc. Multi-process interactive systems and methods
US8847961B2 (en) * 2010-06-14 2014-09-30 Microsoft Corporation Geometry, speed, pressure, and anti-aliasing for ink rendering
US9189147B2 (en) * 2010-06-22 2015-11-17 Microsoft Technology Licensing, Llc Ink lag compensation techniques
US8970870B2 (en) * 2010-06-30 2015-03-03 Canon Kabushiki Kaisha Delivery of scan services over a device service port
CN108681424B (en) * 2010-10-01 2021-08-31 Z124 Dragging gestures on a user interface
US9069459B2 (en) 2011-05-03 2015-06-30 Microsoft Technology Licensing, Llc Multi-threaded conditional processing of user interactions for gesture processing using rendering thread or gesture processing thread based on threshold latency
DE102011053214A1 (en) * 2011-09-02 2013-03-07 Claas Selbstfahrende Erntemaschinen Gmbh Agricultural harvester
US8952926B2 (en) 2011-10-17 2015-02-10 Topaz Systems, Inc. Digitizer
US8994686B2 (en) 2011-10-17 2015-03-31 Topaz Systems, Inc. Digitizer
US9052796B2 (en) 2012-01-08 2015-06-09 Microsoft Technology Licensing Llc Asynchronous handling of an input stream dedicated to multiple targets
US9537899B2 (en) 2012-02-29 2017-01-03 Microsoft Technology Licensing, Llc Dynamic selection of security protocol
TWI498778B (en) * 2012-03-19 2015-09-01 Wistron Corp Method for syncing different touching systems
WO2013151587A1 (en) * 2012-04-06 2013-10-10 Topaz Systems, Inc. Digitizer
US9180262B2 (en) 2012-05-15 2015-11-10 JettStream, Inc. Delivery of nebulized medicines
US9389717B2 (en) * 2012-12-14 2016-07-12 Microsoft Technology Licensing, Llc Reducing latency in ink rendering
WO2014097303A1 (en) * 2012-12-23 2014-06-26 N-Trig Ltd. Touchscreen computing device and method
US20140253462A1 (en) * 2013-03-11 2014-09-11 Barnesandnoble.Com Llc Sync system for storing/restoring stylus customizations
US20140372903A1 (en) * 2013-06-14 2014-12-18 Microsoft Corporation Independent Hit Testing for Touchpad Manipulations and Double-Tap Zooming
US9535646B2 (en) * 2013-06-18 2017-01-03 Microsoft Technology Licensing, Llc Methods and systems for electronic ink projection
US9433736B2 (en) 2013-07-03 2016-09-06 JettStream, Inc. Positionable elongated members with multi-axis joints
US9360956B2 (en) * 2013-10-28 2016-06-07 Microsoft Technology Licensing, Llc Wet ink texture engine for reduced lag digital inking
JP5997414B1 (en) * 2013-11-19 2016-09-28 株式会社ワコム Method and system for ink data generation, ink data rendering, ink data manipulation, and ink data transmission
WO2015141260A1 (en) * 2014-03-17 2015-09-24 株式会社河合楽器製作所 Handwritten music notation recognition device and program
US9990046B2 (en) 2014-03-17 2018-06-05 Oblong Industries, Inc. Visual collaboration interface
US9633466B2 (en) * 2014-09-29 2017-04-25 Microsoft Technology Licensing, Llc Low latency ink rendering pipeline
US20160210038A1 (en) * 2015-01-21 2016-07-21 Microsoft Technology Licensing, Llc Electronic inking
CN114554386A (en) 2015-02-06 2022-05-27 杜比实验室特许公司 Hybrid priority-based rendering system and method for adaptive audio
US10089291B2 (en) 2015-02-27 2018-10-02 Microsoft Technology Licensing, Llc Ink stroke editing and manipulation
US9950542B2 (en) * 2015-03-12 2018-04-24 Microsoft Technology Licensing, Llc Processing digital ink input subject to monitoring and intervention by an application program
US9898841B2 (en) 2015-06-29 2018-02-20 Microsoft Technology Licensing, Llc Synchronizing digital ink stroke rendering
JP6589469B2 (en) 2015-09-04 2019-10-16 カシオ計算機株式会社 Drawing apparatus and drawing method of drawing apparatus
US20170236318A1 (en) * 2016-02-15 2017-08-17 Microsoft Technology Licensing, Llc Animated Digital Ink
JP6701853B2 (en) * 2016-03-18 2020-05-27 カシオ計算機株式会社 Drawing device and drawing method of drawing device
US9996511B2 (en) * 2016-03-23 2018-06-12 International Business Machines Corporation Free form website structure design
US10146759B2 (en) * 2016-03-24 2018-12-04 Microsoft Technology Licensing, Llc Controlling digital input
US11029836B2 (en) * 2016-03-25 2021-06-08 Microsoft Technology Licensing, Llc Cross-platform interactivity architecture
US10529302B2 (en) 2016-07-07 2020-01-07 Oblong Industries, Inc. Spatially mediated augmentations of and interactions among distinct devices and applications via extended pixel manifold
EP3679468A4 (en) 2017-12-11 2021-04-07 Hewlett-Packard Development Company, L.P. Controller event queues
CN111625303B (en) * 2019-02-27 2023-06-09 阿里巴巴集团控股有限公司 Event processing method, device, equipment and readable storage medium
US20220391084A1 (en) * 2019-09-25 2022-12-08 Zhangyue Technology Co., Ltd Information display method, reader, computer storage medium, ink screen reading device and screen projection display system
CN112802133B (en) * 2021-04-13 2021-07-06 武汉精测电子集团股份有限公司 Mini Led display screen unit plate ink color detection and sorting method based on machine vision
US20240094896A1 (en) * 2022-09-19 2024-03-21 Microsoft Technology Licensing, Llc Locally generating preliminary inking imagery

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2669575B2 (en) * 1991-04-19 1997-10-29 インターナショナル・ビジネス・マシーンズ・コーポレイション Data input method and device
DE69333096T2 (en) 1992-04-15 2004-02-12 Xerox Corp. Devices and methods for graphic drawing and output
US5710831A (en) * 1993-07-30 1998-01-20 Apple Computer, Inc. Method for correcting handwriting on a pen-based computer
US5500937A (en) * 1993-09-08 1996-03-19 Apple Computer, Inc. Method and apparatus for editing an inked object while simultaneously displaying its recognized object
US5534893A (en) * 1993-12-15 1996-07-09 Apple Computer, Inc. Method and apparatus for using stylus-tablet input in a computer system
US5768607A (en) 1994-09-30 1998-06-16 Intel Corporation Method and apparatus for freehand annotation and drawings incorporating sound and for compressing and synchronizing sound
US5802388A (en) * 1995-05-04 1998-09-01 Ibm Corporation System and method for correction and confirmation dialog for hand printed character input to a data processing system
US6268859B1 (en) * 1995-06-06 2001-07-31 Apple Computer, Inc. Method and system for rendering overlapping opaque graphical objects in graphic imaging systems
US5920688A (en) * 1995-11-13 1999-07-06 International Business Machines Corporation Method and operating system for manipulating the orientation of an output image of a data processing system
US5782539A (en) * 1995-11-16 1998-07-21 Peterson; Randall D. Wall-to-wall surface mining process
US5872966A (en) * 1996-05-10 1999-02-16 Apple Computer, Inc. System and method for logging and enabling further manipulation of system state information
US5949998A (en) * 1996-07-03 1999-09-07 Sun Microsystems, Inc. Filtering an object interface definition to determine services needed and provided
US6128007A (en) * 1996-07-29 2000-10-03 Motorola, Inc. Method and apparatus for multi-mode handwritten input and hand directed control of a computing device
US5919249A (en) 1996-08-07 1999-07-06 Adobe Systems Incorporated Multiplexed output movie rendering
US5896126A (en) * 1996-08-29 1999-04-20 International Business Machines Corporation Selection device for touchscreen systems
US5953523A (en) * 1996-10-28 1999-09-14 International Business Machines Corporation Method and apparatus for creating "smart forms "
US6049832A (en) 1996-11-15 2000-04-11 Wall Data Incorporated Method for accessing information on a host computer from a client computer through an intelligent virtual host component
GB2340360B (en) * 1998-07-31 2002-11-06 Sony Uk Ltd Animation of video special effects
GB2340362B (en) * 1998-07-31 2002-11-06 Sony Uk Ltd Digital video processing
GB2340265B (en) * 1998-07-31 2003-04-23 Sony Uk Ltd Data processing
US6269378B1 (en) * 1998-12-23 2001-07-31 Nortel Networks Limited Method and apparatus for providing a name service with an apparently synchronous interface
US6249810B1 (en) * 1999-02-19 2001-06-19 Chaincast, Inc. Method and system for implementing an internet radio device for receiving and/or transmitting media information
US6498610B1 (en) * 2000-05-05 2002-12-24 Xerox Corporation Concurrent utilization of multiple color profile databases for image rending
US7397949B2 (en) * 2000-06-21 2008-07-08 Microsoft Corporation Serial storage of ink and its properties
US6355889B1 (en) * 2000-06-28 2002-03-12 International Business Machines Corporation Method and apparatus for linking electronic ink to electronic personal information systems
US6608697B1 (en) * 2000-07-26 2003-08-19 Extensis, Inc. Preflight system that provides a universal resource locator address associated with a detected print file error
US6754386B1 (en) * 2000-08-22 2004-06-22 Microsft Corporation Method and system of matching ink processor and recognizer word breaks
US6707473B2 (en) * 2001-08-01 2004-03-16 Microsoft Corporation Dynamic rendering of ink strokes with transparency
US20020118706A1 (en) * 2001-02-26 2002-08-29 Maple Optical Systems, Inc. Data packet transmission scheduling based on anticipated finish times
US6943787B2 (en) * 2001-02-27 2005-09-13 Medtronics, Inc. System and method for displaying implantable medical device data
US7057615B2 (en) * 2001-06-28 2006-06-06 Microsoft Corporation Method and system for representing and displaying digital ink
US6885374B2 (en) * 2001-06-29 2005-04-26 Intel Corporation Apparatus, method and system with a graphics-rendering engine having a time allocator
US7039234B2 (en) * 2001-07-19 2006-05-02 Microsoft Corporation Electronic ink as a software object
US6909430B2 (en) * 2001-08-01 2005-06-21 Microsoft Corporation Rendering ink strokes of variable width and angle
US7287277B2 (en) * 2001-12-21 2007-10-23 Hewlett-Packard Development Company, L.P. Method and apparatus for controlling execution of a computer operation
JP2003216324A (en) * 2002-01-17 2003-07-31 Hitachi Information Technology Co Ltd Input system
US7139004B2 (en) * 2002-01-25 2006-11-21 Xerox Corporation Method and apparatus to convert bitmapped images for use in a structured text/graphics editor
US7136082B2 (en) * 2002-01-25 2006-11-14 Xerox Corporation Method and apparatus to convert digital ink images for use in a structured text/graphics editor
DE10215615A1 (en) * 2002-04-09 2003-10-30 Roland Man Druckmasch Inking unit for printing units of rotary printing machines
US20040070616A1 (en) * 2002-06-02 2004-04-15 Hildebrandt Peter W. Electronic whiteboard
US7046213B2 (en) * 2002-06-05 2006-05-16 Ibm Apparatus and method for direct manipulation of electronic information
US7028229B2 (en) * 2002-09-30 2006-04-11 Sun Microsystems, Inc. Kernel event subscription and publication system and method
US7430623B2 (en) * 2003-02-08 2008-09-30 Hewlett-Packard Development Company, L.P. System and method for buffering data received from a network
JP4039274B2 (en) * 2003-02-28 2008-01-30 富士ゼロックス株式会社 Service processing system and program
US7562289B2 (en) * 2003-06-18 2009-07-14 Layton Geo-Science, Inc. Methods and systems for encoding geographic coordinates and features in a portable document format file
WO2005029391A1 (en) * 2003-08-21 2005-03-31 Microsoft Corporation Electronic ink processing
US7436535B2 (en) * 2003-10-24 2008-10-14 Microsoft Corporation Real-time inking
US6925892B2 (en) * 2003-12-17 2005-08-09 Sauer-Danfoss, Inc. Method and means for monitoring torque in a hydraulic power unit
US7499058B2 (en) * 2005-04-22 2009-03-03 Microsoft Corporation Programmatical access to handwritten electronic ink in a tree-based rendering environment

Also Published As

Publication number Publication date
WO2005045574A3 (en) 2005-10-27
US7446894B2 (en) 2008-11-04
US8213027B2 (en) 2012-07-03
US7443531B2 (en) 2008-10-28
US20050156913A1 (en) 2005-07-21
EP1676185A2 (en) 2006-07-05
US20070121125A1 (en) 2007-05-31
JP2007509413A (en) 2007-04-12
KR101085730B1 (en) 2011-11-21
TWI374368B (en) 2012-10-11
BRPI0406514A (en) 2005-12-20
RU2005120672A (en) 2006-01-20
MXPA05007085A (en) 2005-10-18
US20070153300A1 (en) 2007-07-05
US7463371B2 (en) 2008-12-09
US20050093838A1 (en) 2005-05-05
US7199885B2 (en) 2007-04-03
EP1676185A4 (en) 2012-01-04
US7016055B2 (en) 2006-03-21
CN1795453B (en) 2012-04-11
US8400665B2 (en) 2013-03-19
US20050093839A1 (en) 2005-05-05
US7453585B2 (en) 2008-11-18
US8199131B2 (en) 2012-06-12
US7239401B2 (en) 2007-07-03
US20050093836A1 (en) 2005-05-05
TW200519711A (en) 2005-06-16
US20050093843A1 (en) 2005-05-05
US7450261B2 (en) 2008-11-11
MY139593A (en) 2009-10-30
US20110225331A1 (en) 2011-09-15
US20060132817A1 (en) 2006-06-22
US20050093842A1 (en) 2005-05-05
US7212296B2 (en) 2007-05-01
US20050093841A1 (en) 2005-05-05
AU2004287136B2 (en) 2009-08-13
US7428736B2 (en) 2008-09-23
WO2005045574A2 (en) 2005-05-19
KR20060123029A (en) 2006-12-01
US20050093833A1 (en) 2005-05-05
US7973957B2 (en) 2011-07-05
US7436535B2 (en) 2008-10-14
RU2392655C2 (en) 2010-06-20
US7511836B2 (en) 2009-03-31
US20120242625A1 (en) 2012-09-27
JP4698599B2 (en) 2011-06-08
US20090189879A1 (en) 2009-07-30
US20050093844A1 (en) 2005-05-05
US20050088420A1 (en) 2005-04-28
US7515139B2 (en) 2009-04-07
US20050093840A1 (en) 2005-05-05
AU2004287136A1 (en) 2005-05-19
CN1795453A (en) 2006-06-28
CA2511395C (en) 2012-04-24

Similar Documents

Publication Publication Date Title
CA2511395A1 (en) Real-time inking
US9086914B2 (en) System and method for reducing startup cost of a software application
US20200258133A1 (en) Installable web applications
KR101647071B1 (en) Architectural pattern for persistent web application design
US9535842B2 (en) System and method for performing message driven prefetching at the network interface
US8732576B2 (en) Operating system providing multi-touch support for applications in a mobile device
WO2018119602A1 (en) Rendering method and device
JP2005513597A5 (en)
CN106156148B (en) Page rendering method and device and terminal equipment
US8909761B2 (en) Methods and computer program products for monitoring and reporting performance of network applications executing in operating-system-level virtualization containers
US8281321B2 (en) Method, system and storage medium for implementing a message board cache system
CN109388317A (en) A kind of picture loading method, terminal device and storage medium
US8666954B2 (en) Reduced bandwidth cache coherency via checksum exchange
CN115878935B (en) Method, system, device, equipment and medium for partial refreshing of chart
CN110362776A (en) Browser front-end data storage method, device, equipment and readable storage medium storing program for executing
US20180337988A1 (en) Methods for working collaboratively and systems using the same
CN110619102B (en) Method and device for monitoring page elements
US20030167299A1 (en) Automatically selecting application services for communicating data
US20050192935A1 (en) Method and apparatus for efficient runtime memory access in a database
EP1686763B1 (en) Method for preserving correlation between messages of the same session
US20240064202A1 (en) Methods and apparatus to synchronize touch events
US11645107B2 (en) Processing multi-frame tasks in a multi-threaded digital design system
CN117609367A (en) Data synchronization method, device, equipment and storage medium
CN115869622A (en) Application method and system of BIM and GIS model in WebGL game engine and readable storage medium
Lee A virtual server queueing network method for component based performance modelling of metacomputing

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed

Effective date: 20140729