Từ khi xuất hiện lần đầu tiên đến giờ, hệ thống tính toán khắp nơi đã được rất nhiều các nhà nghiên cứu đề xuất với các mô hình khác nhau như:
• Weiser (1991): Sự phân tán, tương tác ẩn giữa người-máy tính, nhận thức ngữ cảnh vật lý.[12]
• Art và Marzano (2003) định nghĩa ra 5 yếu tố: Tính nhúng, nhận thức ngữ
cảnh, tính cá nhân, tính thích nghi, và tính dựđoán trước.[12] • Buxton (1995): Tính khắp nơi và tính trong suốt của hệ thống.[12]
• Endres et al. (2005): Tính phân tán, tính di động, tính thông minh, tăng tính hiện thực.
Hình 2-7: Yếu tố xây dựng hệ thống UbiComp
• Các máy tính được kết nối mạng, được phân tán và truy cập trong suốt trong môi trường mạng “Distributed”. Mục đích làm giảm hoạt động phức tạp trong việc tính toán.
• Tương tác máy tính với người dùng ẩn nhiều hơn “implicit HCI”. Schmidt (2000) đã định nghĩa: “một hành động không rõ ràng, được thực hiện bởi người sử dụng, nhằm tương tác với máy vi tính thì hệ thống vẫn sẽ hiểu đó là đầu vào”. Tương tác ẩn dựa trên giả định các máy tính có hiểu biết nhất
định về hành vi của người dùng trong tình huống nhất định: nó là một dạng nhận thức người sử dụng User-Aware. Biết được hành vi của người dùng trong tình huống cụ thể được coi là yếu tố bổ sung cho máy tính thực hiện một hoạt động nào đó. Ví dụ, sử dụng cử chỉ tay, chẳng hạn như vỗ tay một,
để kiểm soát một thiết bị để tắt hay bật ứng dụng, hoặc có thể vỗ tay theo cách khác để diễn tả một cảm xúc. Do đó, đôi khi nó bị yếu tố nhận thức ngữ cảnh Context-Aware che khuất.
• Máy tính cần nhận biết được ngữ cảnh của môi trường để tối ưu hóa hoạt
động trong cả môi trường vật lý và môi trường con người “Context-Aware”. Ngữ cảnh ởđây là vị trí, thời gian và hoạt động của người dùng.
Từđó, ông đã đưa ra thêm 2 yếu tố:
• Các máy tính hoạt động một cách tự trị, tức là tự quản lý, tự hoạt động mà không có sự can thiệp của con người “Autonomous”. Điều này có nghĩa là hệ
thống có khả năng tự cấu hình, tự kết nối, tự tối ưu hóa, tự hoạt động, tự bảo vệ hệ thống
• Máy tính điều khiển vô số hành động và tương tác phức tạp, do đó cần đưa ra các “quyết định” thông minh và tương tác có hệ thống. Thuộc tính này thể
hiện sự “thông minh nhân tạo” của nó “Intelligent”.
Mô hình kiến trúc chung cua hệ thống tính toán khắp nơi cũng được Stefan Poslab[12] xây dựng như hình vẽ dưới đây:
Human Environment Personal Social Public Physical Phenomena Ecological (Living) Physical Environments Autonomous Implicit HCI Context- Aware Intelligent Distributed ICT CCI ICT Virtual Environment UbiComp System HCI (Complete) HCI (Cooperate) HCI CPI (Sense, Adapt) CPI (Survive, Adapt)
Hình 2-8: Mô hình kiến trúc chung của hệ thống tính toán khắp nơi
Môi trường trong tính toán khắp nơi gồm có môi trường vật lý (liên quan đến hệ
sinh thái, hiện tượng vật lý nhưđịa lý, thời gian, nhiệt độ, lượng mưa, cường độ ánh sánh, ... ), môi trường con người (hay môi trường cá nhân là ngữ cảnh tương tác với
(còn được gọi là môi trường ICT: đó là thành phần đặc biệt trong một hệ thống phân tán nhận biết được các dịch vụ).
Tương tác máy tính – máy tính (Computer-Computer Interaction: CCI), tương tác máy tính – môi trường vật lý (Computer-Physical Interaction: CPI), và tương tác người – máy (Human-Computer Interaction: HCI) là giao tiếp tương tác trung gian giữa máy tính – người – môi trường vật lý, để thu thập đầu vào.
Từ các yếu tố trên để qui chuẩn thiết bị thông minh (Smart Device), môi trường thông minh (Smart Environment) và tương tác thông minh (Smart Interaction).
Bảng 2-1: Tính đặc trưng của thiết bị thông minh, môi trường thông minh, tương tác thông minh
Yếu tố Smart Device Smart Environment Smart Interaction Tính chất Mỗi thiết bị có đa
chức năng hoạt động dựa trên môi trường tính toán ảo.
Mỗi thiết bị có một chức năng được nhúng, phân tán trong môi trường vật lý.
Từng thành phần đơn lẻ hoạt động, cạnh tranh để thực hiện được nhiệm vụ. Sự tương tác giữa môi trường và hệ thống - Tương tác Máy - Môi trường thấp -Tương tác người tới máy tính cao - Tương tác máy tới người thấp - Tương tác Máy – Máy cao
- Tương tác máy tới môi trường cao
- Tương tác máy tới người dùng cao
- Tương tác Người - Máy rất cao
- Tương tác Máy - Môi trường rất cao Tính phân tán của hệ thống: Tính mở, hoạt động linh hoạt, Truy cập di động - Hoạt động linh hoạt - Phát hiện tài nguyên cao - Phát hiện tài nguyên là môi trường vật lý cao
- Kết hợp thực thể và dịch vụ linh hoạt Nhận thức ngữ cảnh: Môi trường vật lý, người dùng, cơ sở hạ tầng ICT - Trung bình - Tương tác Một – Một - Cao - Tương tác Một – Nhiều - Trung bình - Tương tác Nhiều - Nhiều
HCI: tập hợp thao tác điều khiển - Cao - Trung bình - Thấp Tự trị - Tự quản bởi lệnh cục bộ của hệ thống, ít bịđiều khiển từ xa - Tự quản bởi các lệnh cục bộ của hệ thống - Tự quản bởi các hành động và tương tác ở mức cao
Tính thông minh Từ thấp đến cao phụ
thuộc vào xử lý. Từ thấp đến cao phụ thuộc vào xử lý của hệ thống Thông tin tập hợp ở mức cao 2.5 Vấn đề nhận thức ngữ cảnh (Context-Aware) 2.5.1 Khái niệm ngữ cảnh (Context) Có khá nhiều nguồn định nghĩa ngữ cảnh như: • Từđiển www.thefreedictionary.com về máy tính định nghĩa ngữ cảnh là “tất cả những gì xung quanh đối tượng nào đó, tồn tại trong môi trường”. Đối tượng là con người, hệ thống máy tính, đồ vật, ... và “tồn tại”. [18]
• Schilit et al (1994) định nghĩa: “Ngữ cảnh trong môi trường của hệ thống tính toán khắp nơi, là nơi con người được coi là đối tượng nhắm đến, và ngữ cảnh là tập hợp tất cả thông tin về môi trường quanh của đối tượng đó như vị trí, đặc điểm.” [5].
• Dey và Abowld (2001) đã khái quát khái niệm này có hệ thống, cụ thế và phù hợp với tính toán khắp nơi hơn. Ông đã định nghĩa như sau: “Bất kỳ
thông tin nào có thể mô tả, hay đặc trưng được tình huống của thực thểđều gọi là thông tin ngữ cảnh. Thực thể là người, nơi chốn, đối tượng liên quan
đến tương tác giữa người dùng và ứng dụng”.
Như vậy, một ứng dụng cụ thể có khả năng nhận thức ngữ cảnh sẽ có rất nhiều thử
thách đặt ra như: những thông tin nào có thể thu thập, cấu trúc thông tin như thế
nào và làm thế nào để phát hiện ngữ cảnh khi môi trường vật lý cũng như môi trường con người là bất định. Thông thường ngữ cảnh bao gồm: vị trí (của người,
băng thông, hoạt động, ý định, cảm xúc của người dùng và các điều kiện của môi trường. Thông tin đó có được nhờ các cảm biến gắn trong môi trường.
2.5.2 Khái niệm về bối cảnh (Situation)
Liên quan chặt chẽ với khái niệm ngữ cảnh là bối cảnh. American Heritage Dictionary đã viết về mối quan hệ giữa bối cảnh và ngữ cảnh như sau: “Sự kết hợp những thông tin ngữ cảnh tại một thời điểm nhất định sẽ thu được trạng thái của ngữ cảnh”. Còn Dey (2001) cũng định nghĩa bối cảnh là: “việc mô tả trạng thái của các thực thể liên quan”[5]. Do đó, ý tưởng tổng hợp thông tin ngữ cảnh để xác định
được bối cảnh của thực thể là cần thiết. Như vậy, nó có mức độ trừu tượng cao hơn so với ngữ cảnh.
Khi hệ thống nhận thức ngữ cảnh của một tập hợp các thực thể xác định và sau đó dựđoán hay phát hiện ra sự thay đổi bối cảnh. Mục đích của việc thu thập ngữ cảnh là để nhận biết được bo cảnh.
2.5.3 Nhận thức ngữ cảnh (Context – aware)
Nhận thức ngữ cảnh
Xuất phát từ thực tế, ngữ cảnh được chia ra bốn loại để miêu tả từng tình huống cụ
thể của thực thể.
• Identity (Định nghĩa): định nghĩa thực thể có liên quan. • Location (Vị trí): Vị trí địa lý của thực thể có liên quan. • Activity: Hoạt động của thực thể.
• Time: Khoảng thời gian thực thể thực hiện hành động đó.
Ngữ cảnh được xác định khi có sự kết hợp của ít nhất hai trong số bốn yếu tố trên, ví dụđịa chỉ liên lạc của một đối tượng là xác định khi có thông tin về nơi chốn, tên tuổi, sốđiện thoại. Tùy theo mục đích của từng ứng dụng, số lượng thông tin chính và thông tin bổ sung nhiều hay ít, ví dụ xét nhiệt động môi trường, thông tin nhiệt
độ (thông tin chính), chỉ hữu ích khi nó kết hợp với khu vực, thời gian, và độ cao (thông tin bổ sung).
9 Theo quan điểm của Cisco [21], việc phân loại xuất phát từ định nghĩa của ứng dụng AAA, đó là:
• Authentication (Xác thực): ví dụ là xác thực trang thái vị trí.
• Authorisation (Cấp phép): ví dụ cho phép truy cập dữ liệu vị trí, chức năng nào đó của ứng dụng.
• Accounting (Tính toán): ví dụ mối quan hệ giữa việc đặt ngữ cảnh và tài khoản của lao động, giấy phép được cấp và hàng hóa được giao.
Cả ba điều khoản trên đều có sự tham gia của thông tin vềđịa điểm và thời gian.
9 Pascoe[20] phân tích từ ngữ cảnh của ứng dụng tính toán mang được trên người Wearable Computing chia ra thành bốn loại sau:
• Sensing: Phát hiện trạng thái của môi trường và hiện thị dữ liệu cho người dùng (Ví dụ: là hiện thị vị trí của đối tượng trên bản đồ).
• Adaption: Cho phép các ứng dụng Wearable Comp thay đổi trạng thái hoạt động khi hiện thị dữ liệu tùy thuộc môi trường vật lý (Ví dụ: Khi trời tối, màn hình hiển thị dữ liệu sẽ sáng hơn).
• Discovery: Kết hợp giữa ngữ cảnh người sử dụng với thông tin về môi trường để xác định thiết bị phù hợp để kết nối (Ví dụ: Thực hiện in ở
máy in gần nhất hay tìm ra siêu thị mở của gần nhất đối tượng).
• Augmentation: Kết hợp giữa dữ liệu số trong thực tại ảo và hiện thực.
9 Schilit et al.[20] định nghĩa loại ứng dụng dựa trên 2 trục vuông góc: một trục là lấy thông tin “INFORMATION” và thực thi lệnh “COMMAND” và một trục là
nhiệm vụ được thực hiện bằng tay “MANUALLY” và tự động
Bốn nhóm ứng dụng được đưa ra theo như bảng dưới đây.
Bảng 2-2: Bốn loại nhận thức ngữ cảnh
Manual Automatic
Information Manual Information: Thông tin cụ thể, trực tiếp về bối
cảnh như “Đối tượng A
đang ở vị trí nào”
Xác định lại ngữ cảnh tự động: thêm, bỏ hay thay đổi kết nối giữa các thành phần tồn tại, các thành phần là các server riêng biệt và các kế nối là các liên kết giao tiếp nhưng cũng có thể là driver tải, thiết bị từ xa,
Command Yêu cầu theo ngữ cảnh: hoạt động thay đổi tùy vào ngữ cảnh, ví dụ máy in gần nhất sẽđược chọn khi thực hiện lệnh in. Hoạt động “bắt ngữ cảnh”: ví dụ một lệnh đơn giản if- then sẽ tự động thực hiện nếu giảđịnh if xảy ra.
Thuật ngữ Context-Aware Service dùng để chỉ những dịch vụ di động cung cấp thông tin vị trí và các ứng dụng liên quan cho người sử dụng, ví dụ dịch vụ giao thông như cập nhật lưu lượng giao thông thời gian thực và truyền âm thanh trực tiếp vềđịnh tuyến đường đi cho người thamn gia giao thông.
Quá trình nhận thức
Giống như hoạt động của bộ não con người, quá trình nhận thức ngữ cảnh bao gồm: Sensing (Cảm giác), Thinking (Xử lý dữ liệu), Action (Hoạt động của con người với ngữ cảnh) [5].
Với hệ thống tính toán khắp nơi, quá trình nhận thức cũng được chia ra ba pha: Perception (Nhận thức), Analysis (Phân tích dữ liệu), Action (Hoạt động phản hồi
Hình 2-10: Mô hình quá trình nhận thức ngữ cảnh
Ta có một cách so sánh ảnh xạ từ hoạt động của bộ não con người với bộ vi xử lý của máy tính như sau:
Hình 2-11: So sánh quá trình nhận thức ngữ cảnh của người và máy tính
Cách gọi từng pha của quá trình nhận thức khác nhau nhưng mục đích của các pha là như nhau. Pha đầu tiên của quá trình nhận thức là sự thu thập tất cả các thông tin về môi trường bằng bộ cảm biến, bằng thẻ RFID. Cần kết hợp các sensor với một bộ dữ liệu cần thiết để có được tổng thể về môi trường vật lý. Đôi khi đầu vào này cũng được cung cấp bởi người dùng. Hiện nay, có rất nhiều loại sensor như cảm biến nhiệt độ, cảm biến ánh sáng, cảm biến chuyển động, cảm biến độ ẩm, ... Một kỹ thuật phổ biến và được ứng dụng rộng rãi hiện nay là thẻ RFID, công nghệđịnh dạng bằng tần số vô tuyến và nhãn thông minh. Cũng như quá trình suy nghĩ của con người, hệ thống xử lý, phân tích ngữ cảnh trước pha phản hồi lại môi trường.
2.5.4 Nhận thức vị trí (Location – Aware)
Khi nói đến Context-Aware trong các ứng dụng UbiComp ta thường gặp thấy xuất hiện Location – Aware (Nhận thức vị trí). Thông tin về vị trí địa lý của đối tượng rất quan trọng trong việc xác định, “bao quát” ngữ cảnh của thực thể. Để dữ liệu này thực sự có ý nghĩa, chính xác là rất khó bởi:
• Địa điểm được gắn chặt chẽ hình ảnh ngữ cảnh của đối tượng. Ví dụ, một
điểm ảnh sẽ cho ta một vị trí nhưng một khu vực Disneyland tập hợp nhiều
điểm.
• Thông tin về địa điểm thì rất rộng bởi đôi khi nó bị tác động bởi yếu tố
người sử dụng (ngôn ngữ, văn hóa, cách phân loại...). Vì vậy, dữ liệu vị trí còn phụ thuộc vào yếu tố chủ quan.
Một trong các phương pháp thu thập được dữ liệu vị trí đang sử dụng phổ biến là dựa vào vị trí kinh tuyến và vĩ tuyến để tìm ra vị trí của thực thể.
Thuật ngữ Location Based Services (LBS) dùng để chỉ những dịch vụ di động cung cấp thông tin vị trí của người sử dụng. Hiện nay, để xác định tọa độ có môt số công nghệ định vị thường được ứng dụng như Cell-ID, A-GPS, EOTD…những công nghệ này được sử dụng thông qua networks hay mobile phones, hoặc cả hai. Các loại dịch vụ chính mà LBS cung cấp bao gồm: Tình trạng khẩn cấp, quảng cáo, quản lý, games, định vị, dẫn đường, thông tin…và rất nhiều các loại hình dịch vụ
ngày càng được bổ sung. Lĩnh vự LBS xuất hiện cách đây vài năm, nhưng LBS đã
được phát triển nhanh chóng và rộng rãi bởi giá trịđem lại và ý nghĩa thiết thực với cộng đồng sử dụng di động. LBS hấp dẫn và sôi động với sự tham gia của : Nhà mạng, Nhà sản xuất nội dung, Nhà phát triển ứng dụng, và người sử dụng mobile. Theo báo cáo của Ovum, thị trường LBS tại Tây Âu được kì vọng đạt 6,6 tỉ USD vào năm 2006, 44% người sử dụng di động thực sự sử dụng các ứng dụng LBS phục vụ cuộc sống.
• Sensing hay còn gọi là Sensor Level: dữ liệu thô thu thập từ môi trường vật lý hay môi trường con người tùy theo mục dích của ứng dụng.
• Adaptive hay gọi là Adaptation Level: Dữ liệu từ mức Sensor sẽđược xử lý và lọc lấy thông tin cần thiết để nhận biết vị trí của đối tượng.
• Aware hay còn gọi là Awareness Level: Thông tin vị trí của đối tượng sẽ được trao đổi hay kết hợp với các yếu tố khác tùy theo ứng dụng được hiển thị hay thông báo lại cho người dùng. Mức này còn được coi là bước hoạt
động phản hồi của hệ thống.
2.6 Ứng dụng và nghiên cứu lĩnh vực UbiComp
2.6.1 Trong nước
Mặc dù lĩnh vực tính toán khắp và di động đã xuất hiện từ những năm 90 nhưng ở
Việt Nam các ứng dụng này còn khá mới mẻ và rời rạc. Nguyên nhân chính là sự
phát triển các phần cứng công nghệ cao như các vi mạch VLSI, các sensor, các thiết bị thông tin dùng sóng radio RF, các pin công nghệ cao cho các thiết bị di động, và